【发布时间】:2016-05-16 20:12:30
【问题描述】:
更具体地说,在 C++ 中,std::allocator_traits<T>::deallocate 是否暗示 std::allocator_traits<T>::destroy?
【问题讨论】:
标签: c++ c++11 memory-management allocator
更具体地说,在 C++ 中,std::allocator_traits<T>::deallocate 是否暗示 std::allocator_traits<T>::destroy?
【问题讨论】:
标签: c++ c++11 memory-management allocator
不,你必须记得自己打电话给destroy()。分配器不知道哪些对象已经被构造,哪些只是被分配。
例如,在向量中,已分配对象 0 到 v.capacity()-1,但只构造了对象 0 到 v.size()-1。
【讨论】: