【问题标题】:aside default allocator, does stl has other allocators now?除了默认分配器,stl 现在还有其他分配器吗?
【发布时间】:2015-05-03 19:21:14
【问题描述】:

在 allocator.h 中定义的 Stl 默认分配器是 new、delete 运算符的简单包装。 stl 是否有其他一些分配器,例如基于内存池的分配器?如果有,定义了哪个头文件。

我探索了stl源代码(4.1.1)并google了它,但什么都可以找到。

【问题讨论】:

  • 默认分配器始终使用 newdelete 并且在 C++11 之前没有内存池或类似的其他分配。默认分配器是非常基本的无状态分配器。
  • 库基础 TS 中有多态分配器。

标签: c++ stl


【解决方案1】:

关于标准库是否提供比std::allocator 更多的分配器模板(忽略包装器std::scoped_allocator_adapter),搜索C++11 PDF 没有找到。


在其他非新闻中……

STL,Standard Template Library与 C++ 标准库不同。 STL 最初是由 Stepanov 开发的 Ada 库 (IIRC)。 Stepanov 和 Stroustrup 于 1998 年共同提议将大部分 C++ 版本的 STL 纳入第一个 C++ 标准化的标准库,并被采纳。这部分标准库主要是关于迭代器和算法的。

仔细阅读某些标准库实现的源代码并不是确定哪些功能是标准的好方法。为此,相关标准是权威来源。但像cppreference 这样的网站也很有用。

【讨论】:

    猜你喜欢
    • 2018-02-22
    • 2014-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-21
    • 1970-01-01
    相关资源
    最近更新 更多