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