迭代器的问题

时间:2019-08-09 14:42:52

标签: c++

void Reverse(vector<int> v)
{
    vector<int>::iterator itr1 = v.begin();
    vector<int>::reverse_iterator itr2 = v.rbegin();
    while(true)
    {
        swap(*itr1,*itr2);
        itr1++;
        if(itr1 == itr2.base() - 1) break;
        itr2++;
    }
}

函数应该反转向量,但是它不起作用。 谁能解释为什么?

1 个答案:

答案 0 :(得分:3)

它将反转本地副本。你可能想要

void Reverse(vector<int>& v)

std::reverse