Namespaces
Variants

std::bitset<N>:: flip

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

Inverse les bits, c'est-à-dire transforme true en false et false en true . Équivalent à une opération logique NOT sur une partie ou la totalité du bitset.

1) Inverse tous les bits (comme operator~ , mais en place).
2) Inverse le bit à la position pos .

Table des matières

Paramètres

pos - la position du bit à inverser

Valeur de retour

* this

Exceptions

2) Lance std::out_of_range si pos ne correspond pas à une position de bit valide.

Exemple

#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';
}

Sortie :

0000
0001
0101
1010

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Applicable à Comportement publié Comportement corrigé
LWG 2250 C++98 le comportement était indéfini si pos ne
correspond pas à une position de bit valide
lève toujours une
exception dans ce cas

Voir aussi

définit les bits à true ou à la valeur donnée
(fonction membre publique)
définit les bits à false
(fonction membre publique)
effectue les opérations binaires AND, OR, XOR et NOT
(fonction membre publique)
inverse tous les bits
(fonction membre publique de std::vector<bool,Allocator> )