Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::bitset<N>::reference

      From cppreference.com
      <cpp‎ |utility‎ |bitset
       
       
      Utilities library
       
       
      class reference;

      Thestd::bitset class includesstd::bitset::reference as a publicly-accessible nested class. This class is used as a proxy object to allow users to interact with individual bits of a bitset, since standard C++ types (like references and pointers) are not built with enough precision to specify individual bits.

      The primary use ofstd::bitset::reference is to provide an lvalue that can be returned fromoperator[].

      Any reads or writes to a bitset that happen via astd::bitset::reference potentially read or write to the entire underlying bitset.

      Contents

      [edit]Member functions

      (constructor)
      constructs the reference
      (public member function)
      (destructor)
      destroys the reference
      (public member function)
      operator=
      assigns a value to the referenced bit
      (public member function)
      operator bool
      returns the referenced bit
      (public member function)[edit]
      operator~
      returns inverted referenced bit
      (public member function)
      flip
      flips the referenced bit
      (public member function)

      std::bitset<N>::reference::reference

      reference(const reference&)=default;
      (since C++11)
      (constexpr since C++23)

      Constructs the reference from another reference. The copy constructor is implicitly declared.(until C++11)

      Other constructors can only be accessed bystd::bitset.

      std::bitset<N>::reference::~reference

      ~reference();
      (constexpr since C++23)

      Destroys the reference.

      std::bitset<N>::reference::operator=

      reference& operator=(bool x);
      (1)(noexcept since C++11)
      (constexpr since C++23)
      reference& operator=(const reference& x);
      (2)(noexcept since C++11)
      (constexpr since C++23)

      Assigns a value to the referenced bit.

      Parameters

      x - value to assign

      Return value

      *this

      std::bitset<N>::reference::operator bool

      operatorbool()const;
      (noexcept since C++11)
      (constexpr since C++23)

      Returns the value of the referenced bit.

      Return value

      The referenced bit.

      std::bitset<N>::reference::operator~

      bool operator~()const;
      (noexcept since C++11)
      (constexpr since C++23)

      Returns the inverse of the referenced bit.

      Return value

      The inverse of the referenced bit.

      std::bitset<N>::reference::flip

      reference& flip();
      (noexcept since C++11)
      (constexpr since C++23)

      Inverts the referenced bit.

      Return value

      *this

      [edit]Example

      Run this code
      #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';}

      Output:

      1) bs: 1110; ref bit: 12) bs: 1010; ref bit: 03) bs: 1110; ref bit: 14) bs: 1010; ref bit: 05) bs: 1110; ref bit: 16) ~ref bit: 0

      [edit]See also

      accesses specific bit
      (public member function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/utility/bitset/reference&oldid=180931"

      [8]ページ先頭

      ©2009-2025 Movatter.jp