C++ problème pop_back()

SamSamXX Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   -  
SamSamXX Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour j'ai un problème avec la fonction pop_back()

la valeur du dernier élément du tableau ne s'éfface pas
<code>
vector<int> tableau(3, 2); //Un tableau de 3 entiers valant tous 2

tableau.pop_back(); //il reste 2 éléments valant tous 2
tableau.pop_back(); //il reste 1 élement valant 2

cout << tableau[0] << endl;
cout << tableau[1] << endl;
cout << tableau[2] << endl;



J'ai fait exprès d'afficher :
<code>
cout << tableau[1] << endl;
cout << tableau[2] << endl;


Pour voir si la valeur se supprimer mais au final ça m'affiche quand même:
2
2
2
je ne comprend pas.

Merci de vos réponses.

1 réponse

Dalfab Messages postés 706 Date d'inscription   Statut Membre Dernière intervention   101
 
Bonjour,

Essayer d'utiliser un indice de tableau en dehors des limites est ce que l'on appelle un "undefined behaviour". Cela signifie que tout est possible (y compris retourner ce qu'il y avait avant, planter, faire exploser la planète, ...). Essaie à la place la fonction at() qui elle contrôle.
cout << tableau.at(0) << endl;
cout << tableau.at(1) << endl;  // => exception
0
SamSamXX Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
Hello,

Merci ça fonctionne bien ,
0