std::bitset<N>:: reference
|
class
reference
;
|
||
std::bitset
클래스는 공개적으로 접근 가능한 중첩 클래스로
std::bitset::reference
를 포함합니다. 이 클래스는 비트셋의 개별 비트들과 상호작용할 수 있도록 사용자에게 프록시 객체로 사용되며, 이는 표준 C++ 타입들(참조와 포인터 같은)이 개별 비트를 지정할 만큼 충분한 정밀도를 갖추고 설계되지 않았기 때문입니다.
std::bitset::reference
의 주요 용도는
operator[]
에서 반환될 수 있는 lvalue를 제공하는 것입니다.
비트셋에 대한 모든 읽기 또는 쓰기는
std::bitset::reference
를 통해 발생할 경우, 잠재적으로 전체 기본 비트셋을 읽거나 쓸 수 있습니다.
목차 |
멤버 함수
|
(constructor)
|
참조자를 생성합니다
(public member function) |
|
(destructor)
|
참조자를 파괴합니다
(public member function) |
|
operator=
|
참조된 비트에 값을 할당합니다
(public member function) |
|
operator bool
|
참조된 비트를 반환합니다
(public member function) |
|
operator~
|
반전된 참조 비트를 반환합니다
(public member function) |
|
flip
|
참조된 비트를 반전시킵니다
(public member function) |
std::bitset<N>::reference:: reference
|
reference
(
const
reference
&
)
=
default
;
|
(C++11부터)
(C++23부터 constexpr) |
|
다른 reference로부터 reference를 생성합니다. 복사 생성자는 암시적으로 선언됩니다. (C++11 이전)
다른 생성자들은
std::bitset
에 의해서만 접근 가능합니다.
std::bitset<N>::reference:: ~reference
|
~reference
(
)
;
|
(C++23부터 constexpr) | |
레퍼런스를 파괴합니다.
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) |
참조된 비트에 값을 할당합니다.
매개변수
| x | - | 할당할 값 |
반환 값
* this
std::bitset<N>::reference:: operator bool
|
operator
bool
(
)
const
;
|
(noexcept since C++11)
(constexpr since C++23) |
|
참조된 비트의 값을 반환합니다.
반환 값
참조된 비트.
std::bitset<N>::reference:: operator~
|
bool
operator~
(
)
const
;
|
(noexcept since C++11)
(constexpr since C++23) |
|
참조된 비트의 역을 반환합니다.
반환 값
참조된 비트의 역.
std::bitset<N>::reference:: flip
|
reference
&
flip
(
)
;
|
(C++11부터 noexcept)
(C++23부터 constexpr) |
|
참조된 비트를 반전시킵니다.
반환 값
* this
예제
#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'; }
출력:
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
참고 항목
|
특정 비트에 접근
(public member function) |