Namespaces
Variants

std::bitset<N>::to_string

Von de.cppreference.net
 
 
Hilfsbibliothek
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programmhilfsmittel
Funktionen mit variabler Argumentanzahl
Koroutinen-Unterstützung (C++20)
Vertragsunterstützung (C++26)
Drei-Wege-Vergleich
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Allgemeine Hilfsmittel
Relationale Operatoren (veraltet in C++20)
Ganzzahl-Vergleichsfunktionen
(C++20)(C++20)(C++20)    
(C++20)
Swap und Typoperationen
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Allgemeine Vokabular-Typen
(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) (bis 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;
(seit C++11)
(constexpr seit C++23)
template< class CharT, class Traits >
std::basic_string<CharT, Traits>
    to_string( CharT zero = CharT('0'),
               CharT one = CharT('1') ) const;
(2) (bis C++11)
template< class CharT >
std::basic_string<CharT> to_string( CharT zero = CharT('0'),
                                    CharT one = CharT('1') ) const;
(3) (bis C++11)
std::string to_string( char zero = '0', char one = '1' ) const;
(4) (bis C++11)

Konvertiert den Inhalt des bitset in einen String. Verwendet zero, um Bits mit dem Wert false darzustellen und one, um Bits mit dem Wert true darzustellen.

Der resultierende String enthält N Zeichen, wobei das erste Zeichen dem letzten (N-1ten) Bit und das letzte Zeichen dem ersten Bit entspricht.

Alle Template-Typ-Argumente müssen angegeben werden, da Funktions-Templates keine Standard-Template-Argumente haben können. Die Überladungen (2-4) werden bereitgestellt, um die Aufrufe von to_string zu vereinfachen:

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)

Parameter

Null - Zeichen zur Darstellung von false
Eins - Zeichen zur Darstellung von true

Rückgabewert

1) Die konvertierte Zeichenkette.
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, eins ) .

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)