std::bitset<N>:: to_string
| (1) | ||
|
template
<
class
CharT,
class
Traits,
class
Allocator
>
std::
basic_string
<
CharT, Traits, Allocator
>
|
(bis C++11) | |
|
template
<
class
CharT
=
char
,
|
(seit C++11)
(constexpr seit C++23) |
|
|
template
<
class
CharT,
class
Traits
>
std::
basic_string
<
CharT, Traits
>
|
(2) | (bis C++11) |
|
template
<
class
CharT
>
std::
basic_string
<
CharT
>
to_string
(
CharT zero
=
CharT
(
'0'
)
,
|
(3) | (bis C++11) |
|
std::
string
to_string
(
char
zero
=
'0'
,
char
one
=
'1'
)
const
;
|
(4) | (bis C++11) |
Konvertiert den Inhalt des Bitsets in einen String. Verwendet zero zur Darstellung von Bits mit dem Wert false und one zur Darstellung von Bits mit dem Wert true .
Der resultierende String enthält N Zeichen, wobei das erste Zeichen dem letzten ( N - 1 ten ) Bit entspricht und das letzte Zeichen dem ersten Bit.
|
Alle Template-Typargumente müssen angegeben werden, da Funktions-Templates keine Standard-Template-Argumente haben können. Überladungen
(2-4)
sind bereitgestellt, um die Aufrufe von
2)
Verwendet den Standard-Allokator
std::allocator
.
3)
Verwendet das Standard-Zeichenmerkmal
std::char_traits
und den Standard-Allokator
std::allocator
.
4)
Verwendet den Standard-Zeichentyp
char
, das Standard-Zeichenmerkmal
std::char_traits
und den Standard-Allokator
std::allocator
.
|
(bis C++11) |
Inhaltsverzeichnis |
Parameter
| Null | - | Zeichen zur Darstellung von false |
| Eins | - | Zeichen zur Darstellung von true |
Rückgabewert
Ausnahmen
Kann std::bad_alloc vom std::basic_string -Konstruktor werfen.
Hinweise
Seit C++11 können Funktions-Templates Standard-Template-Argumente haben. LWG issue 1113 entfernte die Hilfs-Overloads ( 2-4 ) und fügte die entsprechenden Standard-Template-Argumente in ( 1 ) hinzu.
Beispiel
#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'; }
Ausgabe:
00101010 **1*1*1* OOXOXOXO
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrektes Verhalten |
|---|---|---|---|
| LWG 396 | C++98 |
Null- und Eins-Bits wurden in Zeichen
0
und 1 konvertiert (die nicht '0' und '1' entsprechen) |
Parameter hinzugefügt, um
Werte für diese Zeichen bereitzustellen |
| LWG 434 | C++98 | alle Template-Argumente mussten angegeben werden | Überladungen hinzugefügt ( 2-4 ) |
| LWG 853 | C++98 |
Überladungen
(
2-4
)
hatten nicht die Standard-
argumente, die durch LWG Issue 396 hinzugefügt wurden |
ebenfalls hinzugefügt |
Siehe auch
|
gibt eine
unsigned
long
Integer-Darstellung der Daten zurück
(öffentliche Elementfunktion) |
|
|
(C++11)
|
gibt eine
unsigned
long
long
Integer-Darstellung der Daten zurück
(öffentliche Elementfunktion) |