Compartir a través de


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

Vea también

Referencia

vector<bool> (Clase)

Biblioteca de plantillas estándar