boost::單例


boost中有一些分散的單例實現,能夠獨立摘出來用的主要有以下四個:尤其以前兩個為主。
boost/container/detail/singleton.hpp
boost/serialization/singleton.hpp
boost/thread/detail/singleton.hpp
boost/pool/singleton_pool.hpp

 

"C\C++" 常規 > 附加包含目錄,增加"E:\boost_1_63_0\boost_1_63_0"
"鏈接器" 常規 > 附加庫目錄,增加"E:\boost_1_63_0\boost_1_63_0\stage\lib"

 

boost::serialization::singleton單例的使用方式
#define m_signal        CSigObj::get_mutable_instance()    // 非const實例 
#define m_signal_const  CSigObj::get_const_instance()      // const實例 

 

例1
#pragma
once #include <boost/serialization/singleton.hpp> #define m_signal CSigObj::get_mutable_instance() class CSigObj :public boost::serialization::singleton<CSigObj> //繼承模式 { public: CSigObj(); ~CSigObj(); };

 

 

例2
class
CSigObj :public boost::noncopyable { CSigObj(); ~CSigObj(); }; typedef boost::serialization::singleton<CSigObj> singleton_ctest; // 使用模板的方式只允許單個實例 singleton_ctest::get_mutable_instance().show();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM