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