1.測試環境 vs2010 ,boost1.48,
2.編譯boost,生成靜態庫,方法從網上找。
3.測試對象,pool &object_pool
4,code :
// testBoost.cpp : 定義控制檯應用程序的入口點。
//
#include "stdafx.h"
#include <boost/pool/pool.hpp>
#include <boost/pool/object_pool.hpp>
using namespace boost;
class MyMem
{
public:
MyMem()
{
a = 0;
b = 0;
}
void print()
{
printf("%d,%d\n",a,b);
}
private:
int a;
char b;
};
typedef object_pool<MyMem> _pool;
int _tmain(int argc, _TCHAR* argv[])
{
//pool
pool<> _basePool(sizeof(MyMem));
MyMem * p = (MyMem*)_basePool.malloc();
p = new(p)MyMem();
p->print();
_basePool.free(p);
//object_pool
_pool mypool;
void * obj = mypool.malloc();
MyMem* myMem = new(obj)MyMem();
myMem->print();
mypool.free(myMem);
//
getchar();
return 0;
}