std::bitset<N>:: to_string
| (1) | ||
|
template
<
class
CharT,
class
Traits,
class
Allocator
>
std::
basic_string
<
CharT, Traits, Allocator
>
|
(C++11まで) | |
|
template
<
class
CharT
=
char
,
|
(C++11から)
(C++23からconstexpr) |
|
|
template
<
class
CharT,
class
Traits
>
std::
basic_string
<
CharT, Traits
>
|
(2) | (C++11まで) |
|
template
<
class
CharT
>
std::
basic_string
<
CharT
>
to_string
(
CharT zero
=
CharT
(
'0'
)
,
|
(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 th ) ビットに対応し、最後の文字は最初のビットに対応します。
|
関数テンプレートはデフォルトテンプレート引数を持てないため、すべてのテンプレート型引数を指定する必要があります。オーバーロード
(2-4)
は
2)
デフォルトアロケータ
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
整数表現を返す
(公開メンバ関数) |