Sdílet prostřednictvím


vector<bool>::operator

Vrátí simulovaný odkaz na prvek vector<bool> v určené pozici.

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

Parametry

Parametr

Popis

Pos

Pozice prvku vector<bool>.

Vrácená hodnota

Objekt vector<bool>::reference nebo vector<bool>::const_reference, který obsahuje hodnotu indexovaného prvku.

Pokud je zadaná pozice větší nebo rovna velikosti kontejneru, výsledek je nedefinován.

Poznámky

Pokud kompilujete s množinou _ITERATOR_DEBUG_LEVEL, dojde k runtime chybě, pokud se pokusíte o přístup k prvku mimo hranice vektoru. Další informace naleznete v tématu Checked – iterátory.

Příklad

Tento příklad kódu ukazuje správné použití vector<bool>::operator[] a dvě časté chyby kódování, které jsou okomentovány.Tyto chyby způsobují další chyby, protože adresa objektu vector<bool>::reference, který je vracen vector<bool>::operator[], nemůže být přijata.

// 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;
}

Výstup

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

Požadavky

Hlavička: <vector>

Obor názvů: std

Viz také

Referenční dokumentace

vector<bool> – třída

Standardní knihovna šablon