3.10 object_pool
object_pool是用于类实例(对象)的内存池,它的功能与pool类似,但会在析构时对所有已经分配的内存块调用析构函数,从而正确地释放资源。
object_pool位于名字空间boost,为了使用object_pool组件,需要包含头文件<boost/pool/object_pool.hpp>,即:
- #include <boost/pool/object_pool.hpp>
- using namespace boost;
3.10.1 类摘要
object_pool的类摘要如下:
- template <typename ElementType >
- class object_pool:protected pool
- {
- public:
- object_pool();
- ~object_pool();
-
- element_type * malloc();
- void free(element_type * p);
- bool is_from(element_type * p) const;
-
- element_type * construct(...);
- void destroy(element_type * p);
- };