-4
雖然我在C++中調用了std :: list,但我使用std :: advance來隨機訪問元素。但是std :: advance並不像預期的那樣工作。如下所示。std :: advance在C++中表現不正確
#include <list>
#include<iostream>
#include<iterator>
using namespace std;
int main()
{
list<int> i;
typename list<int>::iterator t=i.begin();
i.push_front(0);
i.push_back(1);
i.push_back(2);
i.push_back(3);
cout<<*t<<" ";
advance(t,1);
cout<<*t<<" ";
advance(t,2);
cout<<*t<<" ";
}
我得到的輸出是0 0 2 但不應輸出爲0 1 3