operator<<,>> (std::bitset)
|
헤더 파일에 정의됨
<bitset>
|
||
|
template
<
class
CharT,
class
Traits,
std::
size_t
N
>
std::
basic_ostream
<
CharT, Traits
>
&
|
(1) | |
|
template
<
class
CharT,
class
Traits,
std::
size_t
N
>
std::
basic_istream
<
CharT, Traits
>
&
|
(2) | |
비트셋을 문자 스트림에 삽입하거나 추출합니다.
1과 0을 나타내는 데 사용할 문자들은 현재 로케일에서 std:: use_facet < std:: ctype < CharT >> ( os. getloc ( ) ) . widen ( ) 를 호출하여 '1' 과 '0' 을 인자로 전달해 얻습니다.
다음 조건 중 하나가 충족될 때까지 문자를 추출합니다:
- N 개의 문자가 읽혔을 때,
- is 에서 파일 끝(EOF)이 발생했을 때, 또는
- 다음 문자가 is. widen ( '0' ) 도 is. widen ( '1' ) 도 아닐 때.
목차 |
매개변수
| os | - | 데이터를 쓸 문자 스트림 |
| is | - | 데이터를 읽을 문자 스트림 |
| x | - | 읽거나 쓸 bitset |
반환값
예제
#include <bitset> #include <iostream> #include <sstream> int main() { std::string bit_string = "001101"; std::istringstream bit_stream(bit_string); std::bitset<3> b1; bit_stream >> b1; // "001"을 읽음, 스트림에는 여전히 "101"이 남아 있음 std::cout << b1 << '\n'; std::bitset<8> b2; bit_stream >> b2; // "101"을 읽음, 8비트 셋을 "00000101"로 채움 std::cout << b2 << '\n'; }
출력:
001 00000101
결함 보고서
다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
| LWG 303 | C++98 |
단일 바이트 문자를
is 에서 추출했지만,
CharT
는 여러 바이트를 가질 수 있음
|
CharT
를 추출하고 확장된
'0' 및 '1' 와 비교 |
| LWG 396 | C++98 | operator << 가 작성한 내용이 로케일 독립적이었음 | 확장된 '0' 과 '1' 을 기록 |
| LWG 3199 | C++98 |
std::bitset<0>
추출 시 항상
failbit
설정
|
해당 추출 시
failbit
을 설정하지 않음
|
참고 항목
|
이진 왼쪽 시프트 및 오른쪽 시프트 수행
(public member function) |