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