左侧std :: vector资源在移动分配时会发生什么?

问题描述 投票:0回答:1

嗨,我试图找出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++ vector memory-management move-semantics
1个回答
1
投票

[通过查看Table 71: Container requirements表示容器的内部结构将被破坏。

© www.soinside.com 2019 - 2024. All rights reserved.