【发布时间】:2020-04-10 18:50:21
【问题描述】:
我试图找出 C++ 11 标准是否允许 std::vector 接收移动分配的资源被释放。
我给你举个例子:
std::vector<int> a {1, 2};
std::vector<int> b {3, 4};
a = std::move(b);
现在我期待的是a 和b 都包装了一个常规数组(通常)并且它们有一个指向它的指针,即a_ptr 和b_ptr。现在我认为移动分配和其他事情一样a_ptr = b_ptr。标准是否保证a_ptr 中的内存在此之前或之后被释放?
【问题讨论】:
标签: c++ c++11 vector memory-management move-semantics