std::bitset<N>::to_string
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) は 2) デフォルトのアロケータ std::allocator を使用します。
3) デフォルトの文字特性 std::char_traits とデフォルトのアロケータ std::allocator を使用します。
4) デフォルトの文字型
char、デフォルトの文字特性 std::char_traits 、およびデフォルトのアロケータ std::allocator を使用します。 |
(C++11まで) |
パラメータ
| zero | - | false を表すために使用する文字 |
| one | - | true を表すために使用する文字 |
戻り値
例外
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 issue 396
で追加されたデフォルト引数がなかった |
同様に追加 |
関連項目
|
データの
unsigned
long
整数表現を返す
(公開メンバ関数) |
|
|
(C++11)
|
データの
unsigned
long
long
整数表現を返す
(公開メンバ関数) |