std::bitset<N>:: reference
|
class
reference
;
|
||
Die
std::bitset
-Klasse enthält
std::bitset::reference
als öffentlich zugängliche geschachtelte Klasse. Diese Klasse dient als Proxy-Objekt, um Benutzern die Interaktion mit einzelnen Bits eines Bitsets zu ermöglichen, da Standard-C++-Typen (wie Referenzen und Zeiger) nicht mit ausreichender Präzision für die Spezifikation einzelner Bits entwickelt wurden.
Der primäre Verwendungszweck von
std::bitset::reference
ist die Bereitstellung eines L-Werts, der von
operator[]
zurückgegeben werden kann.
Jedes Lesen oder Schreiben eines Bitsets, das über eine
std::bitset::reference
erfolgt, liest oder schreibt potenziell das gesamte zugrundeliegende Bitset.
Inhaltsverzeichnis |
Memberfunktionen
|
(constructor)
|
Konstruiert die Referenz
(public member function) |
|
(destructor)
|
Zerstört die Referenz
(public member function) |
|
operator=
|
Weist dem referenzierten Bit einen Wert zu
(public member function) |
|
operator bool
|
Gibt das referenzierte Bit zurück
(public member function) |
|
operator~
|
Gibt das invertierte referenzierte Bit zurück
(public member function) |
|
flip
|
Invertiert das referenzierte Bit
(public member function) |
std::bitset<N>::reference:: reference
|
reference
(
const
reference
&
)
=
default
;
|
(seit C++11)
(constexpr seit C++23) |
|
Konstruiert die Referenz aus einer anderen Referenz. Der Kopierkonstruktor ist implizit deklariert. (bis C++11)
Andere Konstruktoren können nur von
std::bitset
aufgerufen werden.
std::bitset<N>::reference:: ~reference
|
~reference
(
)
;
|
(constexpr seit C++23) | |
Zerstört die Referenz.
std::bitset<N>::reference:: operator=
|
reference
&
operator
=
(
bool
x
)
;
|
(1) |
(noexcept seit C++11)
(constexpr seit C++23) |
|
reference
&
operator
=
(
const
reference
&
x
)
;
|
(2) |
(noexcept seit C++11)
(constexpr seit C++23) |
Weist dem referenzierten Bit einen Wert zu.
Parameter
| x | - | zuzuweisender Wert |
Rückgabewert
* this
std::bitset<N>::reference:: operator bool
|
operator
bool
(
)
const
;
|
(noexcept seit C++11)
(constexpr seit C++23) |
|
Gibt den Wert des referenzierten Bits zurück.
Rückgabewert
Das referenzierte Bit.
std::bitset<N>::reference:: operator~
|
bool
operator~
(
)
const
;
|
(noexcept seit C++11)
(constexpr seit C++23) |
|
Gibt das invertierte Referenzbit zurück.
Rückgabewert
Das invertierte Referenzbit.
std::bitset<N>::reference:: flip
|
reference
&
flip
(
)
;
|
(noexcept seit C++11)
(constexpr seit C++23) |
|
Invertiert das referenzierte Bit.
Rückgabewert
* this
Beispiel
#include <bitset> #include <iostream> int main() { std::bitset<4> bs{0b1110}; std::bitset<4>::reference ref = bs[2]; auto info = [&](int id) { std::cout << id << ") bs: " << bs << "; ref bit: " << ref << '\n'; }; info(1); ref = false; info(2); ref = true; info(3); ref.flip(); info(4); ref = bs[1]; // operator=( const reference& x ) info(5); std::cout << "6) ~ref bit: " << ~ref << '\n'; }
Ausgabe:
1) bs: 1110; ref bit: 1 2) bs: 1010; ref bit: 0 3) bs: 1110; ref bit: 1 4) bs: 1010; ref bit: 0 5) bs: 1110; ref bit: 1 6) ~ref bit: 0
Siehe auch
|
greift auf bestimmtes Bit zu
(öffentliche Elementfunktion) |