Namespaces
Variants

std::bitset<N>:: set

From cppreference.net
Utilities library
bitset & set ( ) ;
(1) (sin excepciones 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 a true o establece un bit a un valor especificado.

1) Establece todos los bits a true .
2) Establece el bit en la posición pos al valor value .

Contenidos

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

2) Lanza std::out_of_range si pos no corresponde a una posición de bit válida.

Ejemplo

#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)