Namespaces
Variants

std::bitset<N>::flip

De es.cppreference.net
 
 
Biblioteca de utilidades
Soporte del lenguaje
Soporte de tipos (tipos básicos, RTTI)
Macros de prueba de características de la biblioteca (C++20)
Utilidades de programa
Funciones variádicas
Soporte de corrutinas (C++20)
Soporte de contratos (C++26)
Comparación de tres vías
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilidades generales
Operadores relacionales (obsoleto en C++20)
Funciones de comparación de enteros
(C++20)(C++20)(C++20)    
(C++20)
Operaciones de intercambio y tipo
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Tipos de vocabulario común
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 
bitset& flip();
(1) (noexcept desde C++11)
(constexpr desde C++23)
bitset& flip( std::size_t pos );
(2) (constexpr desde C++23)

Invierte bits, es decir, cambia los valores true a false y los valores false a true. Equivalente 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.

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