boost的单例

来源:互联网 发布:贵金属资源数据先生 编辑:程序博客网 时间:2024/05/16 12:57
  1. #include<iostream>   
  2. #include<boost/pool/detail/singleton.hpp>  
  3. using namespace std;  
  4. using boost::details::pool::singleton_default;  
  5.   
  6.   
  7. class db{  
  8. public:  
  9.     void connect()  
  10.     {  
  11.         cout<<"Connect."<<endl;  
  12.     }  
  13.     void exec(const char *sqlstr)  
  14.     {  
  15.         cout<<"exec insert/update/delete:"<<sqlstr<<endl;  
  16.     }  
  17.     void query(const char *sqlstr)  
  18.     {  
  19.         cout<<"query:"<<sqlstr<<endl;  
  20.     }  
  21. };  
  22.   
  23. typedef singleton_default <db>  Sql;  
  24.   
  25. int main()  
  26. {  
  27.     cout<<"----------main start.-------------"<<endl;  
  28.     //typedef singleton_default <db>  Sql;  
  29.       
  30.     Sql::instance().connect();  
  31.     Sql::instance().exec("crete a table.");  
  32.     Sql::instance().query("select * from db");  
  33.       
  34.     cout<<"----------------main finish.-----------------"<<endl;  
  35.       
  36.     return 0;  
  37. }  
原创粉丝点击