【发布时间】:2016-11-28 15:42:49
【问题描述】:
在查看std::allocator 时,我看到成员:value_type,
pointer,
const_pointer,
reference,
const_reference,
size_type,
difference_type,和
rebind 已全部弃用。
分配器也将不再拥有以下成员:address、max_size、construct 或 destroy。
为什么会这样?是否与多态分配器有关?
【问题讨论】:
-
第一组成员看起来确实对容器有意义,而不是分配器。我相信现在有一个
std::addressof来替换地址()。无论如何谁需要 max_size ;其余的应该可以通过放置新/显式析构函数调用来替换。 -
现在还有一个
allocator_traits将填补缺失的部分。
标签: c++ memory-management stl allocator c++17