std::bitset<N>::operator[]
De es.cppreference.net
bool operator[]( std::size_t pos ) const;
|
(1) | (constexpr desde C++11) |
reference operator[]( std::size_t pos );
|
(2) | (constexpr desde C++23) |
Accede al bit en la posición pos.
1) Devuelve el valor del bit.
2) Devuelve un objeto de tipo std::bitset::reference que permite la modificación del valor.
|
Si |
(hasta C++26) |
|
Si
|
(desde C++26) |
Parámetros
| pos | - | posición del bit a devolver |
Valor de retorno
1)
El valor del bit solicitado.
2)
Un objeto de tipo
std::bitset::reference
, que permite escribir en el bit solicitado.
Excepciones
No lanza nada.
Ejemplo
Ejecutar este código
#include <bitset> #include <cstddef> #include <iostream> int main() { std::bitset<8> b1{0b00101010}; // literal binario para 42 for (std::size_t i = 0; i < b1.size(); ++i) std::cout << "b1[" << i << "]: " << b1[i] << '\n'; b1[0] = true; // modifica el primer bit mediante bitset::reference std::cout << "Después de establecer el bit 0, b1 contiene " << b1 << '\n'; }
Salida:
b1[0]: 0 b1[1]: 1 b1[2]: 0 b1[3]: 1 b1[4]: 0 b1[5]: 1 b1[6]: 0 b1[7]: 0 After setting bit 0, b1 holds 00101011
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares publicados anteriormente de C++.
| DR | Aplicado a | Comportamiento publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 11 | C++98 |
1. la descripción faltaba en el estándar de C++
2. solo existía la sobrecarga no constante |
1. descripción añadida
2. añadida la sobrecarga constante |
| LWG 907 | C++98 |
el comportamiento de leer el bit en
pos
era equivalente
al de
test(pos)
, pero
test()
puede lanzar excepciones
|
evita mencionar
test()
|
Véase también
|
accede a un bit específico
(función miembro pública) |