std::bitset<N>::flip
Von cppreference.com
bitset& flip(); |
(1) | (noexcept seit C++11) (constexpr seit C++23) |
bitset& flip( std::size_t pos ); |
(2) | (constexpr seit C++23) |
Schaltet Bits um, d.h. ändert true Werte in false und false Werte in true. Entspricht einer logischen NICHT-Operation auf einem Teil oder dem gesamten Bitset.
1) Schaltet alle Bits um (wie operator~, aber in-place).
2) Schaltet das Bit an der Position pos um.
Inhalt |
[edit] Parameter
| pos | - | die Position des umzuschaltenden Bits |
[edit] Rückgabewert
*this
[edit] Ausnahmen
[edit] Beispiel
Führen Sie diesen Code aus
#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
[edit] Fehlerberichte
Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| LWG 2250 | C++98 | war das Verhalten undefiniert, wenn pos keiner gültigen Bitposition entsprach |
wirft in diesem Fall immer eine Ausnahme |
[edit] Siehe auch
| setzt Bits auf true oder auf einen gegebenen Wert (public member function) | |
| setzt Bits auf false (public member function) | |
| führt binäre AND-, OR-, XOR- und NOT-Operationen durch (public member function) | |
| schaltet alle Bits um (public member function of std::vector<bool,Allocator>) |