【问题标题】:Does deallocation imply destruction?释放是否意味着破坏?
【发布时间】:2016-05-16 20:12:30
【问题描述】:

更具体地说,在 C++ 中,std::allocator_traits<T>::deallocate 是否暗示 std::allocator_traits<T>::destroy?

【问题讨论】:

    标签: c++ c++11 memory-management allocator


    【解决方案1】:

    不,你必须记得自己打电话给destroy()。分配器不知道哪些对象已经被构造,哪些只是被分配。

    例如,在向量中,已分配对象 0 到 v.capacity()-1,但只构造了对象 0 到 v.size()-1。

    【讨论】:

      猜你喜欢
      • 2013-08-06
      • 2014-08-15
      • 1970-01-01
      • 1970-01-01
      • 2010-12-27
      • 1970-01-01
      • 2019-03-10
      • 2015-03-12
      • 2020-07-29
      相关资源
      最近更新 更多