Namespaces
Variants

std::bitset<N>:: flip

From cppreference.net
Utilities library
bitset & flip ( ) ;
(1) (noexcept desde C++11)
(constexpr desde C++23)
bitset & flip ( std:: size_t pos ) ;
(2) (constexpr desde C++23)

Invierte los bits, es decir, cambia true a false y false a true . Equivale a una operación lógica NOT sobre parte o la totalidad del bitset.

1) Invierte todos los bits (como operator~ , pero in situ).
2) Invierte el bit en la posición pos .

Contenidos

Parámetros

pos - la posición del bit a voltear

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 <iostream>
int main()
{
    std::bitset<4> flops;
    std::cout << flops << '\n'
              << flops.flip(0) << '\n'
              << flops.flip(2) << '\n'
              << flops.flip() << '\n';
}

Salida:

0000
0001
0101
1010

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 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 bits a true o valor dado
(función miembro pública)
establece bits a false
(función miembro pública)
realiza operaciones binarias AND, OR, XOR y NOT
(función miembro pública)
invierte todos los bits
(función miembro pública de std::vector<bool,Allocator> )