std::bitset<N>::flip
Von de.cppreference.net
bitset& flip();
|
(1) | (noexcept seit C++11) (constexpr seit C++23) |
bitset& flip( std::size_t pos );
|
(2) | (constexpr seit C++23) |
Kehrt Bits um, d.h. ändert true Werte in false und false Werte in true. Äquivalent zu einer logischen NICHT-Operation auf einem Teil oder dem gesamten Bitset.
1) Kehrt alle Bits um (wie operator~, aber direkt im Objekt).
2) Kehrt das Bit an der Position
pos um.Parameter
| pos | - | die Position des zu kippenden Bits |
Rückgabewert
* this
Ausnahmen
Beispiel
Diesen Code ausführen
#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'; }
Ausgabe:
0000 0001 0101 1010
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrektes Verhalten |
|---|---|---|---|
| LWG 2250 | C++98 |
das Verhalten war undefiniert wenn
pos
nicht
einer gültigen Bitposition entspricht |
wirft in diesem Fall immer eine
Exception |
Siehe auch
|
Setzt Bits auf
true
oder gegebenen Wert
(öffentliche Elementfunktion) |
|
|
Setzt Bits auf
false
(öffentliche Elementfunktion) |
|
|
Führt binäres AND, OR, XOR und NOT aus
(öffentliche Elementfunktion) |
|
|
Invertiert alle Bits
(öffentliche Elementfunktion von
std::vector<bool,Allocator>
)
|