C++ 移动向量元素
我有一个关于决议的问题。答案建议使用以下方法将向量的元素移动到向量的后面 然而,我认为这将是一个更合适的解决办法。因为std::iter_swap在元素上工作,而C++ 移动向量元素,c++,c++11,stl,iterator,C++,C++11,Stl,Iterator,我有一个关于决议的问题。答案建议使用以下方法将向量的元素移动到向量的后面 然而,我认为这将是一个更合适的解决办法。因为std::iter_swap在元素上工作,而std::rotate在范围上工作 template <typename T> void moveItemToBack(std::vector<T>& v, size_t itemIndex) { std::iter_swap(std::next(vec.begin(), itemIndex),
std::rotate
在范围上工作
template <typename T>
void moveItemToBack(std::vector<T>& v, size_t itemIndex)
{
std::iter_swap(std::next(vec.begin(), itemIndex), v.end());
}
模板
void moveItemToBack(标准::向量&v,大小\u t项索引)
{
std::iter_交换(std::next(vec.begin(),itemIndex),v.end());
}
如果交换,则中间的元素现在已无序。如果旋转,则它们不会旋转。针对两个不同问题的两种不同解决方案。选择任何适用的。有一个答案表明这一点:,并在评论中解释了为什么它不起作用。