Partager via


vector<bool>::operator[]

Retourne une référence simulée à l'élément vector<bool> à un emplacement spécifié.

vector<bool>::reference operator[](
   size_type Pos
);
vector<bool>::const_reference operator[](
   size_type Pos
) const;

Paramètres

Paramètre

Description

Pos

Position de l'élément vector<bool>.

Valeur de retour

Objet vector<bool>::reference ou vector<bool>::const_reference qui contient la valeur de l'élément indexé.

Si la position spécifiée est supérieure ou égale à la taille du conteneur, le résultat est non défini.

Notes

Si vous compilez en ayant défini _ITERATOR_DEBUG_LEVEL, une erreur d'exécution se produira lorsque vous tenterez d'accéder à un élément situé en dehors des limites du vecteur. Pour plus d'informations, consultez Itérateurs vérifiés.

Exemple

Cet exemple de code illustre une utilisation correcte de vector<bool>::operator[], ainsi que deux erreurs courantes de programmation commentées. Des erreurs sont alors provoquées, car l'adresse de l'objet vector<bool>::reference retourné par vector<bool>::operator[] ne peut pas être acceptée.

// cl.exe /EHsc /nologo /W4 /MTd 
#include <vector>
#include <iostream>

int main()
{
    using namespace std;
    cout << boolalpha;
    vector<bool> vb;

    vb.push_back(true);
    vb.push_back(false);

    //    bool* pb = &vb[1]; // conversion error - do not use
    //    bool& refb = vb[1];   // conversion error - do not use
    bool hold = vb[1];
    cout << "The second element of vb is " << vb[1] << endl;
    cout << "The held value from the second element of vb is " << hold << endl;

    // Note this doesn't modify hold.
    vb[1] = true;
    cout << "The second element of vb is " << vb[1] << endl;
    cout << "The held value from the second element of vb is " << hold << endl;
}

Sortie

The second element of vb is false
The held value from the second element of vb is false
The second element of vb is true
The held value from the second element of vb is false

Configuration requise

En-tête : <vector>

Espace de noms : std

Voir aussi

Référence

vector<bool>, classe

Bibliothèque STL (Standard Template Library)