vector<bool>::operator[]
Devuelve una referencia simulada al elemento vector<bool> en una posición especificada.
vector<bool>::reference operator[](
size_type Pos
);
vector<bool>::const_reference operator[](
size_type Pos
) const;
Parámetros
Parámetro |
Descripción |
Pos |
Posición del elemento vector<bool>. |
Valor devuelto
Un objeto vector<bool>::reference o vector<bool>::const_reference que contiene el valor del elemento indizado.
Si la posición especificada es mayor o igual que el tamaño del contenedor, el resultado es sin definir.
Comentarios
Si compila con _ITERATOR_DEBUG_LEVEL, se genera un error en tiempo de ejecución si intenta tener acceso a un elemento fuera de los límites del vector. Para obtener más información, vea Iteradores activados.
Ejemplo
En este ejemplo de código se muestra el uso correcto de vector<bool>::operator[] y dos errores habituales de codificación, que están comentados. Estos errores se producen porque no se puede tomar la dirección del objeto vector<bool>::reference que devuelve vector<bool>::operator[].
// 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;
}
Salida
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
Encabezado: <vector>
Espacio de nombres: std