Compartilhar via


vector<bool>::operator[]

Retorna uma referência simulada para o elemento vector<bool> em uma posição especificada.

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

Parâmetros

Parâmetro

Descrição

Pos

A posição do elemento vector<bool>.

Valor de retorno

Um objeto vector<bool>::reference ou vector<bool>::const_reference que contém o valor do elemento indexado.

Se a posição especificada for maior ou igual ao tamanho do contêiner, o resultado será indefinido.

Comentários

Se você compilar com _ITERATOR_DEBUG_LEVEL definido, um erro de tempo de execução ocorrerá se você tentar acessar um elemento fora dos limites do vetor. Para obter mais informações, consulte Iteradores Verificados.

Exemplo

Este exemplo de código mostra o uso correto de vector<bool>::operator[] e dois enganos comuns de codificação, que são comentados. Esses enganos causam erros porque o endereço do objeto vector<bool>::reference que vector<bool>::operator[] retorna não pode ser usado.

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

Saída

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

Requisitos

Cabeçalho: <vector>

Namespace: std

Consulte também

Referência

Classe vector<bool>

Biblioteca de Modelos Padrão