vector::push_back
我注意到和之间的行为有所不同insert
。
当我做
iter = myVector.begin() + 5;
myVector.push_back(std::move(*iter));
向量中的第 6 个元素被添加到底部并从前一个位置删除。
然而,如果我这样做:
iterBegin = myVector.begin();
myVector.insert(iterBegin,std::move(*(iterBegin + 5)));
第 6 个元素被插入到第一个位置,但它不会从前一个位置删除。
为什么std::move
不能insert()
像 in 一样工作push_back()
?