移动矢量元素

时间:2016-04-08 10:12:54

标签: c++ c++11 stl iterator

我对question的解决方案有疑问。答案建议使用std::rotate将向量元素移动到向量的后面。

但我相信std::iter_swap将是更合适的解决方案。由于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());
}

0 个答案:

没有答案