std::bitset<N>:: operator[]
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member types | ||||
| Member functions | ||||
|
(until C++20)
|
||||
| Element access | ||||
|
bitset::operator[]
|
||||
| Capacity | ||||
| Modifiers | ||||
| Conversions | ||||
|
(C++11)
|
||||
| Non-member functions | ||||
| Helper classes | ||||
|
(C++11)
|
||||
|
bool
operator
[
]
(
std::
size_t
pos
)
const
;
|
(1) | (constexpr since C++11) |
|
reference operator
[
]
(
std::
size_t
pos
)
;
|
(2) | (constexpr since C++23) |
pos 위치의 비트에 접근합니다.
|
만약 pos < size ( ) 가 false 인 경우, 동작은 정의되지 않습니다. |
(C++26 이전) |
|
만약 pos < size ( ) 가 false 인 경우:
|
(C++26 이후) |
목차 |
매개변수
| pos | - | 반환할 비트의 위치 |
반환값
예외
아무것도 던지지 않습니다.
예제
#include <bitset> #include <cstddef> #include <iostream> int main() { std::bitset<8> b1{0b00101010}; // 42에 대한 이진 리터럴 for (std::size_t i = 0; i < b1.size(); ++i) std::cout << "b1[" << i << "]: " << b1[i] << '\n'; b1[0] = true; // bitset::reference를 통해 첫 번째 비트 수정 std::cout << "After setting bit 0, b1 holds " << b1 << '\n'; }
출력:
b1[0]: 0 b1[1]: 1 b1[2]: 0 b1[3]: 1 b1[4]: 0 b1[5]: 1 b1[6]: 0 b1[7]: 0 After setting bit 0, b1 holds 00101011
결함 보고서
다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 수정된 동작 |
|---|---|---|---|
| LWG 11 | C++98 |
1. C++ 표준에서 설명이 누락됨
2. 비 const 오버로드만 존재함 |
1. 설명 추가됨
2. const 오버로드 추가됨 |
| LWG 907 | C++98 |
pos
위치의 비트를 읽는 동작이
test(pos)
와 동등했으나,
test()
는 예외를 발생시킬 수 있음
|
test()
에 대한 언급을 피함
|
참고 항목
|
특정 비트에 접근
(public member function) |