Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 移动向量元素_C++_C++11_Stl_Iterator - Fatal编程技术网

C++ 移动向量元素

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::iter_swap在元素上工作,而
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());
}

如果交换,则中间的元素现在已无序。如果旋转,则它们不会旋转。针对两个不同问题的两种不同解决方案。选择任何适用的。有一个答案表明这一点:,并在评论中解释了为什么它不起作用。