繁体   English   中英

有固定大小分配器的优雅C ++实现吗?

[英]Is there an elegant C++ implementation of fixed-size allocator?

我认为,如果必须包含的头文件的数量尽可能少,则C ++库是“优雅的”。

我知道已经有固定大小的分配器,如Loki::SmallObjectAllocatorboost::pool 尽管两者都很出色,但我认为它们并不优雅,也不容易无缝集成到项目中。

大多数时候,我只需要Boost库的一小部分,但是我必须在机器上安装整个库。 例如,如果我想使用boost :: pool,我希望只包含一个头文件boost_pool.h完成工作。 因为我认为固定大小的分配器不应过多地依赖于其他组件。 我认为理想的代码应如下所示:

#include <boost_pool.h>

int main()
{
   boost::pool<int> p;
   int* v = p.allocate();
}

有没有这样的图书馆?

欢迎您来我的 是否优雅,都可以决定。 但这只是一个短头,仅依赖于几个小的标准头。 分配器满足C ++ 11分配器要求,这是C ++ 03分配器要求的子集。 如果需要,您总是可以添加C ++ 03样板。

您在使用GCC吗? 它的标准库带有一些固定大小的分配器作为扩展,请参阅http://gcc.gnu.org/onlinedocs/libstdc++/manual/memory.html#allocator.ext

它们是相当独立的(不确定优雅,自从我正确地看了他们的代码以来已经有很长时间了)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM