std::bitset<N>::set
De es.cppreference.net
bitset& set();
|
(1) | (noexcept desde C++11) (constexpr desde C++23) |
bitset& set( std::size_t pos, bool value = true );
|
(2) | (constexpr desde C++23) |
Establece todos los bits en true o establece un bit en un valor específico.
1) Establece todos los bits en
true.2) Establece el bit en la posición
pos al valor value.Parámetros
| pos | - | la posición (contando desde 0 , es decir, desde el menos significativo al más significativo) del bit a establecer |
| value | - | el valor al que establecer el bit |
Valor de retorno
* this
Excepciones
Ejemplo
Ejecutar este código
#include <bitset> #include <cstddef> #include <iostream> int main() { std::bitset<8> b; std::cout << b << '\n'; std::cout << b.set() << '\n'; std::cout << b.reset() << '\n'; for (std::size_t i = 1; i < b.size(); i += 2) b.set(i); std::cout << b << '\n'; }
Salida:
00000000 11111111 00000000 10101010
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.
| DR | Aplicado a | Comportamiento publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 186 | C++98 | el tipo de value era int | corregido a bool |
| LWG 2250 | C++98 |
el comportamiento era indefinido si
pos
no
corresponde a una posición de bit válida |
siempre lanza una
excepción en este caso |
Véase también
|
establece los bits a
false
(función miembro pública) |
|
|
alterna los valores de los bits
(función miembro pública) |