Partilhar via


bitset::reference

Uma classe de proxy que fornece referências a bit contidos em um bitset que é usado para acessar e manipular os bits individuais como um auxiliar a classificação de operator[] de bitset da classe.

class reference {
   friend class bitset<N>;
   public:
      reference& operator=(
         bool _Val
      );
      reference& operator=(
         const reference& _Bitref
      );
      bool operator~( ) const;
      operator bool( ) const;
      reference& flip( );
};

Parâmetros

  • _Val
    O valor do objeto do tipo bool a ser atribuído a um bit em um bitset.

  • _Bitref
    Uma referência de formulário x i [] a bit na posição na bitset x.

Valor de retorno

Uma referência ao bit no bitset especificado pela posição do argumento da primeira, como e, quintas funções de membro de referência de classe, e o true ou o false, refletir o valor de bit alterado no bitset para a terceira e a quarta funções de membro de referência da classe.

Comentários

A referência de classe só existe como uma classe auxiliar para o bitset operator[]. A classe do membro descreve um objeto que pode acessar um bit individual dentro de um bitset. Deixe b ser um objeto de objetos do tipo, boolde x e y do tipo bitset<Em>, e de posições válidos de i e de j dentro desse objeto. A notação x i [] referencia o bit na posição na bitset x. As funções de membro de referência da classe fornece, em ordem, as seguintes operações:

Operação

Definição

x=i[] b

Valor b de bool das lojas na posição de bit de E/S no bitset x.

x y=i[] []j

Armazena o valor de bit yj[] na posição de bit de E/S no bitset x.

b ~xi[=]

Armazena o valor inversa de bit xi[] em bool B.

b = xi[]

Armazena o valor de bit xi[] em bool B.

xi[].flip()

Armazena o valor inversa de backups de bit xi[] na posição de bit de E/S em X.

Exemplo

// bitset_reference.cpp
// compile with: /EHsc
#include <bitset>
#include <iostream>

int main( )
{
   using namespace std;

   bitset<5> b1 ( 2 );
   bitset<5> b2 ( 6 );
   cout << "The initialized bitset<5> b1( 2 ) is: ( "<< b1 << " )."
        << endl;
   cout << "The initialized bitset<5> b2( 6 ) is: ( "<< b2 << " )."
        << endl;

   // Example of x [i] = b storing bool b at bit position i
   // in bitset x
   b1[ 0 ] = true;
   cout << "The bitset<5> b1 with the bit at position 0 set to 1"
        << " is: ( "<< b1 << " )" << endl;
   
   // Example of x [i] = y [j] storing the bool value of the
   // bit at position j in bitset y at bit position i in bitset x
   b2 [4] = b1 [0];      // b1 [0] = true
   cout << "The bitset<5> b2 with the bit at position 4 set to the "
        << "value\n of the bit at position 0 of the bit in "
        << "bitset<5> b1 is: ( "<<  b2  << " )" << endl;

   // Example of b = ~x [i] flipping the value of the bit at
   // position i of bitset x and storing the value in an 
   // object b of type bool
   bool b = ~b2 [4];      // b2 [4] = false
   if ( b )
      cout << "The value of the object b = ~b2 [4] "
           << "of type bool is true." << endl;
   else
      cout << "The value of the object b = ~b2 [4] "
           << "of type bool is false." << endl;
   
   // Example of b = x [i] storing the value of the bit at
   // position i of bitset x in the object b of type bool
   b = b2 [4];
   if ( b )
      cout << "The value of the object b = b2 [4] "
           << "of type bool is true." << endl;
   else
      cout << "The value of the object b = b2 [4] "
           << "of type bool is false." << endl;

   // Example of x [i] . flip ( ) toggling the value of the bit at
   // position i of bitset x
   cout << "Before flipping the value of the bit at position 4 in "
        << "bitset b2,\n it is ( "<<  b2  << " )." << endl;
   b2 [4].flip( );
   cout << "After flipping the value of the bit at position 4 in "
        << "bitset b2,\n it becomes ( "<<  b2  << " )." << endl;
   bool c;
   c = b2 [4].flip( );
   cout << "After a second toggle, the value of the position 4"
        << " bit in b2 is now: " << c << ".";
}
  

Requisitos

bitset <deCabeçalho: >

Namespace: std

Consulte também

Referência

Classe bitset

Segurança de threads na Biblioteca Padrão C++