Freigeben über


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

Siehe auch

Referenz

vector<bool>-Klasse

Standardvorlagenbibliothek