Namespaces
Variants

std::bitset<N>::to_string

From ko.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)



 
 
template< class CharT, class Traits, class Allocator >
std::basic_string<CharT, Traits, Allocator>
    to_string( CharT zero = CharT('0'),
               CharT one = CharT('1') ) const;
(1) (C++11까지)
template<
    class CharT = char,
    class Traits = std::char_traits<CharT>,
    class Allocator = std::allocator<CharT>
>
std::basic_string<CharT, Traits, Allocator>
    to_string( CharT zero = CharT('0'),
               CharT one = CharT('1') ) const;
(C++11부터)
(C++23부터 constexpr)
template< class CharT, class Traits >
std::basic_string<CharT, Traits>
    to_string( CharT zero = CharT('0'),
               CharT one = CharT('1') ) const;
(2) (C++11까지)
template< class CharT >
std::basic_string<CharT> to_string( CharT zero = CharT('0'),
                                    CharT one = CharT('1') ) const;
(3) (C++11까지)
std::string to_string( char zero = '0', char one = '1' ) const;
(4) (C++11까지)

bitset의 내용을 문자열로 변환합니다. 값이 zero인 비트를 나타내는 데 false을(를) 사용하고 값이 one인 비트를 나타내는 데 true을(를) 사용합니다.

결과 문자열은 N개의 문자를 포함하며, 첫 번째 문자는 마지막 (N-1번째) 비트에 해당하고 마지막 문자는 첫 번째 비트에 해당합니다.

함수 템플릿은 기본 템플릿 인자를 가질 수 없으므로 모든 템플릿 타입 인자를 제공해야 합니다. (2-4) 오버로드는 to_string의 호출을 단순화하기 위해 제공됩니다:

2) 기본 할당자 std::allocator를 사용합니다.
3) 기본 문자 특성 std::char_traits과 기본 할당자 std::allocator를 사용합니다.
4) 기본 문자 타입 char, 기본 문자 특성 std::char_traits 및 기본 할당자 std::allocator를 사용합니다.
(C++11까지)

매개변수

zero - false 를 나타내는 데 사용할 문자
one - true 를 나타내는 데 사용할 문자

반환값

1) 변환된 문자열.
2) to_string < CharT, Traits, std:: allocator < CharT >> ( zero, one ) .
3) to_string < CharT, std:: char_traits < CharT > , std:: allocator < CharT >> ( zero, one ) .
4) to_string < char , std:: char_traits < char > , std:: allocator < char >> ( zero, one ) .

예외

std::bad_alloc 생성자로부터 std::basic_string 예외를 발생시킬 수 있습니다.

참고 사항

C++11부터 함수 템플릿은 기본 템플릿 인자를 가질 수 있습니다. LWG issue 1113 은 헬퍼 오버로드 ( 2-4 ) 를 제거하고 해당 기본 템플릿 인자들을 ( 1 ) 에 추가했습니다.

예제

#include <bitset>
#include <iostream>
int main()
{
    std::bitset<8> b{42};
    std::cout << b.to_string() << '\n'
              << b.to_string('*') << '\n'
              << b.to_string('O', 'X') << '\n';
}

출력:

00101010
**1*1*1*
OOXOXOXO

결함 보고서

다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.

DR 적용 대상 게시된 동작 수정된 동작
LWG 396 C++98 0과 1 비트가 문자 ​ 0 ​
와 1 로 변환됨 (이는 '0' 와 '1' 에 해당하지 않음)
이러한 문자들을 제공하기 위한
매개변수 추가
LWG 434 C++98 모든 템플릿 인자를 제공해야 했음 오버로드 추가 ( 2-4 )
LWG 853 C++98 오버로드 ( 2-4 ) 에 LWG 이슈 396 에 의해 추가된
기본 인자가 없었음
동일하게 추가

참고 항목

데이터의 unsigned long 정수 표현을 반환합니다
(public member function)
(C++11)
데이터의 unsigned long long 정수 표현을 반환합니다
(public member function)