Namensräume
Varianten
Aktionen

std::bitset<N>::to_string

Von cppreference.com
< cpp‎ | utility‎ | bitset
 
 
Dienstprogramm-Bibliotheken
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Coroutine-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 (in C++20 veraltet)
 
 
(1)
template< class CharT, class Traits, class Allocator >

std::basic_string<CharT, Traits, Allocator>
    to_string( CharT zero = CharT('0'),

               CharT one = CharT('1') ) const;
(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)

Wandelt den Inhalt des Bitsets in einen String um. 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 und das letzte Zeichen dem ersten Bit entspricht.

Alle Template-Typargumente müssen angegeben werden, da Funktions-Templates keine standardmäßigen Template-Argumente haben können. Überladungen (2-4) werden bereitgestellt, um die Aufrufe von to_string zu vereinfachen.

2) Verwendet den Standard-Allocator std::allocator.
3) Verwendet die Standard-Zeichenbehandlung std::char_traits und den Standard-Allocator std::allocator.
4) Verwendet den Standard-Zeichentyp char, die Standard-Zeichenbehandlung std::char_traits und den Standard-Allocator std::allocator.
(bis C++11)

Inhalt

[edit] Parameter

null - Zeichen zur Darstellung von false
eins - Zeichen zur Darstellung von true

[edit] Rückgabewert

1) Der konvertierte String.
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).

[edit] Ausnahmen

Kann std::bad_alloc vom Konstruktor von std::basic_string auslösen.

[edit] Hinweise

Seit C++11 können Funktions-Templates Standard-Template-Argumente haben. LWG-Issue 1113 entfernte die Hilfsüberladungen (2-4) und fügte die entsprechenden Standard-Template-Argumente in (1) hinzu.

[edit] 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

[edit] Fehlerberichte

Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR angewendet auf Verhalten wie veröffentlicht Korrigiertes Verhalten
LWG 396 C++98 Null- und Eins-Bits wurden in Zeichen konvertiert 0
und 1 (die nicht '0' und '1' entsprechen)
Parameter hinzugefügt, um
Werte für diese Zeichen anzugeben
LWG 434 C++98 Alle Template-Argumente mussten angegeben werden Überladungen (2-4) hinzugefügt
LWG 853 C++98 Überladungen (2-4) hatten nicht die Standard-
Argumente, die durch LWG-Issue 396 hinzugefügt wurden
auch hinzugefügt

[edit] Siehe auch

gibt eine unsigned long-Ganzzahlrepräsentation der Daten zurück
(public member function) [edit]
(C++11)
gibt eine unsigned long long-Ganzzahlrepräsentation der Daten zurück
(public member function) [edit]