// example_lock_constObject.cpp: define el punto de entrada de la aplicación de consola. // #include "stdafx.h" #include #include #include class Class1 : public boost::lockable_adapter { public: Class1() :_i(0){} virtual ~Class1(){} void set(int i) { _i = i; } int get() const { return _i; } private: int _i; }; int func(const Class1& obj) { boost::unique_lock lock(obj); //boost::unique_lock lock(const_cast(obj)); return obj.get(); } int _tmain(int argc, _TCHAR* argv[]) { Class1 obj; boost::unique_lock lock(obj); obj.set(1); return 0; }