pendant que je me débrouillais avec std :: list en C++ j'ai utilisé std :: advance pour accéder aux éléments aléatoirement. Mais std :: advance ne fonctionne pas comme prévu. Le code est comme indiqué ci-dessous.std :: avance en C++ ne se comporte pas correctement
#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<<" ";
}
la sortie i est reçu 0 0 2 mais ne doit pas être la sortie 0 1 3