C++ problème pop_back()

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

  1. 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
    1. Hello,

      Merci ça fonctionne bien ,
      0