使用指定的元素大小来提升池,并指定元素的初始#?

时间:2011-03-10 02:06:41

标签: boost pool boost-pool

升压::池<>构造函数采用“元素大小”参数 boost :: object_pool构造函数采用“initial#of element”参数。

我想用“元素大小S”和“元素的初始N”创建池 这可能与boost :: pool?

有关

谢谢

1 个答案:

答案 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整数的初始分配。超过块的初始分配后,存储将加倍。