c++ - 算法中的 std::move 会破坏重叠的对象吗?
问题描述
算法库中的std::move函数
取自cppreference.com
template< class InputIt, class OutputIt >
constexpr OutputIt move( InputIt first, InputIt last, OutputIt d_first );
如果我在同一个数组中移动,重叠的元素将被破坏
另外,如果我像这样调用构造2 次(使用allocator_traits):
alloc_trait::construct(alloc, p, 1);
alloc_trait::construct(alloc, p, 2);
旧元素会被破坏吗?还是我必须手动销毁它?
Destroy = 调用析构函数不释放