std::bitset<N>::flip
Depuis fr.cppreference.net
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
Exemple
Exécuter ce code
#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>
)
|