为什么std :: allocator_traits没有函数`address`

时间:2015-10-10 21:33:50

标签: c++ c++11 allocator

stubs-32.hmakestd::allocator_traitsallocatedeallocateconstruct,但不是destroy

  • 为什么不呢?
  • 如果始终使用max_size是安全的,为什么address支持std::addressof

1 个答案:

答案 0 :(得分:0)

std::allocator::address已成为std::allocator的一部分,因为该类型已存在于标准中,但在C ++ 17中已弃用,而在C ++ 20中已将其删除。 N2982: "Allocators post Removal of C++ Concepts (Rev 1)allocator_traits添加到C ++ 11。该论文从分配器要求和状态中删除了address

  

address的功能现在由pointer_to中的pointer_traits函数提供。