std::bitset<N>:: reference
|
class
reference
;
|
||
La classe
std::bitset
inclut
std::bitset::reference
en tant que classe imbriquée accessible publiquement. Cette classe est utilisée comme objet proxy pour permettre aux utilisateurs d'interagir avec des bits individuels d'un bitset, car les types standards C++ (comme les références et les pointeurs) ne sont pas conçus avec une précision suffisante pour spécifier des bits individuels.
L'utilisation principale de
std::bitset::reference
est de fournir une lvalue qui peut être retournée par
operator[]
.
Toute lecture ou écriture sur un bitset qui se produit via une
std::bitset::reference
peut potentiellement lire ou écrire sur l'ensemble du bitset sous-jacent.
Table des matières |
Fonctions membres
|
(constructor)
|
construit la référence
(fonction membre publique) |
|
(destructor)
|
détruit la référence
(fonction membre publique) |
|
operator=
|
assigne une valeur au bit référencé
(fonction membre publique) |
|
operator bool
|
retourne le bit référencé
(fonction membre publique) |
|
operator~
|
retourne le bit référencé inversé
(fonction membre publique) |
|
flip
|
inverse le bit référencé
(fonction membre publique) |
std::bitset<N>::reference:: reference
|
reference
(
const
reference
&
)
=
default
;
|
(depuis C++11)
(constexpr depuis C++23) |
|
Construit la référence à partir d'une autre référence. Le constructeur de copie est implicitement déclaré. (jusqu'à C++11)
Les autres constructeurs ne peuvent être accédés que par
std::bitset
.
std::bitset<N>::reference:: ~reference
|
~reference
(
)
;
|
(constexpr depuis C++23) | |
Détruit la référence.
std::bitset<N>::reference:: operator=
|
reference
&
operator
=
(
bool
x
)
;
|
(1) |
(noexcept depuis C++11)
(constexpr depuis C++23) |
|
reference
&
operator
=
(
const
reference
&
x
)
;
|
(2) |
(noexcept depuis C++11)
(constexpr depuis C++23) |
Assigne une valeur au bit référencé.
Paramètres
| x | - | valeur à assigner |
Valeur de retour
* this
std::bitset<N>::reference:: operator bool
|
operator
bool
(
)
const
;
|
(noexcept depuis C++11)
(constexpr depuis C++23) |
|
Retourne la valeur du bit référencé.
Valeur de retour
Le bit référencé.
std::bitset<N>::reference:: operator~
|
bool
operator~
(
)
const
;
|
(noexcept depuis C++11)
(constexpr depuis C++23) |
|
Retourne l'inverse du bit référencé.
Valeur de retour
L'inverse du bit référencé.
std::bitset<N>::reference:: flip
|
reference
&
flip
(
)
;
|
(noexcept depuis C++11)
(constexpr depuis C++23) |
|
Inverse le bit référencé.
Valeur de retour
* this
Exemple
#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'; }
Sortie :
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
Voir aussi
|
accède à un bit spécifique
(fonction membre publique) |