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;
}