如果必须包含的头文件数量尽可能少,我认为 C++ 库是“优雅的”。
我知道已经存在固定大小的分配器,例如Loki::SmallObjectAllocator
和boost::pool
。虽然两者都很优秀,但我认为它们并不优雅,也不容易无缝集成到项目中。
大多数时候,我只需要 boost 库的一小部分,但我必须在我的机器上安装整个库。例如,如果我想使用 boost::pool,我希望只包含一个头文件boost_pool.h
并完成工作。因为我认为固定大小的分配器不应该如此依赖于太多其他组件。在我看来,理想的代码应该如下所示:
#include <boost_pool.h>
int main()
{
boost::pool<int> p;
int* v = p.allocate();
}
有没有这样的图书馆?