Namespaces
Variants

std::bitset<N>:: reference

From cppreference.net
Utilities library
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)