Namespaces
Variants

연산자<<,>>(std::bitset)

cppreference.net에서 가져옴
 
 
유틸리티 라이브러리
일반 유틸리티
관계 연산자 (C++20에서 폐지됨)
정수 비교 함수
(C++20)(C++20)(C++20)    
(C++20)
Swap 및 타입 연산
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
공통 어휘 타입
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 
헤더 <bitset>
template< class CharT, class Traits, std::size_t N >
std::basic_ostream<CharT, Traits>&
    operator<<( std::basic_ostream<CharT, Traits>& os, const std::bitset<N>& x );
에 정의됨 (1)
template< class CharT, class Traits, std::size_t N >
std::basic_istream<CharT, Traits>&
    operator>>( std::basic_istream<CharT, Traits>& is, std::bitset<N>& x );
(2)

문자 스트림에 bitset을 삽입하거나 추출합니다.

1) bitset x을 먼저 os을 사용하여 std::basic_string<CharT, Traits>to_string()으로 변환한 다음, 문자열에 대한 operatoros (FormattedOutputFunction<< 입니다)을 사용하여 에 출력하는 것처럼 문자 스트림 에 씁니다.
1과 0에 사용되는 문자는 현재 내재된 로케일에서 std::use_facet<std::ctype<CharT>>(os.getloc()).widen()을 '1' 및 '0' 인수로 호출하여 얻습니다.
2) FormattedInputFunction으로 동작합니다. 선행 공백을 건너뛸 수 있는 센트리 객체를 생성하고 확인한 후, N에서 최대 is개의 문자를 추출하여 bitset x에 저장합니다.
다음 중 하나가 발생할 때까지 문자를 추출합니다:
  • N개의 문자가 읽힐 때까지,
  • is에서 파일 끝이 발생할 때까지, 또는
  • 다음 문자가 is.widen('0') 또는 is.widen('1')이 아닐 때까지.
N > 0이고 추출된 문자가 없으면 is.setstate(ios_base::failbit)이 호출됩니다.

매개변수

os - 데이터를 쓸 문자 스트림
is - 데이터를 읽을 문자 스트림
x - 읽거나 쓸 bitset

반환값

1) os
2) is

예제

#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 을 설정하지 않음

참고 항목

이진 왼쪽 시프트 및 오른쪽 시프트를 수행합니다
(공개 멤버 함수)