升压::池<>构造函数采用“元素大小”参数 boost :: object_pool构造函数采用“initial#of element”参数。
我想用“元素大小S”和“元素的初始N”创建池 这可能与boost :: pool?
有关谢谢
答案 0 :(得分:2)
你可以用object_pool
做到这一点; 根据ElementType
模板参数推断其元素的大小,因此无需明确指定大小。您可以将请求的块数(“N”)指定为附加构造函数参数。
根据OP评论进行更新:
来自boost::pool
来源:
explicit pool(const size_type nrequested_size,
const size_type nnext_size = 32)
所以你可以这样做:
boost::pool<> p(8 * sizeof(int), 64);
如果您想要一个返回大小为8个整数的块的池,并进行64 * 8整数的初始分配。超过块的初始分配后,存储将加倍。