Namespaces
Variants

std::bitset<N>::flip

Depuis fr.cppreference.net
 
 
Bibliothèque d'utilitaires
Support linguistique
Support des types (types de base, RTTI)
Macros de test des fonctionnalités de la bibliothèque (C++20)
Utilitaires de programme
Fonctions variadiques
Support des coroutines (C++20)
Support des contrats (C++26)
Comparaison à trois voies
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilitaires généraux
Opérateurs relationnels (obsolète en C++20)
 
 
bitset& flip();
(1) (noexcept depuis C++11)
(constexpr depuis C++23)
bitset& flip( std::size_t pos );
(2) (constexpr depuis C++23)

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

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

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