vector<bool>::operator[]
Gibt einen simulierten Verweis auf das vector<bool>-Element an einer angegebenen Position zurück.
vector<bool>::reference operator[](
size_type Pos
);
vector<bool>::const_reference operator[](
size_type Pos
) const;
Parameter
Parameter |
Beschreibung |
Pos |
Die Position des vector<bool>-Elements. |
Rückgabewert
Ein vector<bool>::reference- oder vector<bool>::const_reference-Objekt, das den Wert des indizierten Elements enthält.
Wenn die angegebene Position größer oder gleich der Größe des Containers ist, ist das Ergebnis nicht definiert.
Hinweise
Beim Kompilieren mit festgelegtem _ITERATOR_DEBUG_LEVEL-Wert tritt ein Laufzeitfehler auf, wenn Sie versuchen, auf ein Element außerhalb der Grenzen des Vektors zuzugreifen. Weitere Informationen finden Sie unter Überprüfte Iteratoren.
Beispiel
Dieses Codebeispiel veranschaulicht die korrekte Verwendung von vector<bool>::operator[] und zwei häufige Codierungsfehler, die auskommentiert werden. Diese Fehler verursachen Probleme, da die Adresse des vector<bool>::reference-Objekts, das vector<bool>::operator[] zurückgibt, nicht ausgeführt werden kann.
// 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;
}
Ausgabe
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
Anforderungen
Header: <vector>
Namespace: std