다음을 통해 공유


bitset::reference

참조에 액세스 하는 도우미 클래스에 대 한 개별 비트 조작 하는 데 사용 되는 bitset 비트를 제공 하는 프록시 클래스의 operator[] bitset 클래스입니다.

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

매개 변수

  • _Val
    값 형식 개체의 bool 비트는 bitset에 할당 하려면.

  • _Bitref
    참조 형식의 x [i 비트 위치에 i bitset에 x.

반환 값

비트 bitset 지정 된 인수에 대 한 첫 번째, 두 번째 및 다섯 번째 멤버 함수를 클래스 참조의 위치에에서 대 한 참조 및 true 또는 거짓, bitset 세 번째와 네 번째 멤버 함수를 클래스 참조의 수정 된 비트 값을 반영 합니다.

설명

클래스 참조 bitset에 대 한 도우미 클래스 에서만 존재 operator[].클래스 멤버는 개별 비트는 bitset 내에서 액세스할 수 있는 개체를 설명 합니다.가 b 형식의 개체 수 bool, xy 개체 유형의 bitset <N>, 및 ij 이러한 개체 내에서 올바른 위치.표기법은 x [i 비트 위치 참조 i bitset에 x.순서 대로 참조 클래스의 멤버 함수는 다음 작업 제공합니다.

작업

정의

xi= b

저장소 bool 값 b 비트 위치 i bitset에 x.

xi= yj

저장 값의 비트 yj비트 위치 i bitset에 x.

b = ~xi

대칭 이동 된 비트 값을 저장 xi에서boolb.

b = xi

Stores the value of the bit xi inboolb.

xi.flip( )

대칭 이동 된 비트 값을 저장 xi비트 위치에 다시 i 에서 x.

예제

// 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 << ".";
}
  
  
  
  
  
  
  

요구 사항

헤더: <bitset>

네임 스페이스: std

참고 항목

참조

bitset Class

표준 C++ 라이브러리에서 스레드로부터의 안전성