嗨,我试图找出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中的内存?
[通过查看Table 71: Container requirements表示容器的内部结构将被破坏。