C++ problème pop_back()

SamSamXX Messages postés 32 Statut Membre -  
SamSamXX Messages postés 32 Statut Membre -
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 720 Statut Membre 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 32 Statut Membre
 
Hello,

Merci ça fonctionne bien ,
0