读书人

pool对象内存储器池(object_pool)

发布时间: 2012-12-25 16:18:28 作者: rapoo

pool对象内存池(object_pool)

#include<boost/pool/object_pool.hpp>#include<iostream>#include<cassert>#include<string>using namespace boost;using namespace std;class demo_class{public:    int a,b,c;    demo_class(int x=1,int y=2,int z=3):a(x),b(y),c(z){}};int main(){    object_pool<demo_class> p1;    demo_class *p = p1.malloc();    assert(p1.is_from(p));    //这个时候居然还没有初始化    cout << p->a << endl;//137028012乱七八糟的数据    p = p1.construct(4,5,6);    cout << p->a << endl;//4    object_pool<string> ps;    for(int i=0;i<10;++i){        string *s = ps.construct("abcd");        cout << *s << endl;    }    //也可以构造普通数据类型    object_pool<int> pi;    int *i = pi.construct(3);    cout << *i << endl;}

读书人网 >编程

热点推荐