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) | (jusqu'à 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;
|
(depuis C++11) (constexpr depuis C++23) |
|
template< class CharT, class Traits >
std::basic_string<CharT, Traits>
to_string( CharT zero = CharT('0'),
CharT one = CharT('1') ) const;
|
(2) | (jusqu'à C++11) |
template< class CharT >
std::basic_string<CharT> to_string( CharT zero = CharT('0'),
CharT one = CharT('1') ) const;
|
(3) | (jusqu'à C++11) |
std::string to_string( char zero = '0', char one = '1' ) const;
|
(4) | (jusqu'à C++11) |
Convertit le contenu du bitset en une chaîne. Utilise zero pour représenter les bits de valeur false et one pour représenter les bits de valeur true.
La chaîne résultante contient N caractères, le premier caractère correspondant au dernier (N-1ième) bit et le dernier caractère correspondant au premier bit.
|
Tous les arguments de type de modèle doivent être fournis car les modèles de fonction ne peuvent pas avoir d'arguments de modèle par défaut. Les surcharges (2-4) sont fournies pour simplifier les invocations de 2) Utilise l'allocateur par défaut std::allocator.
3) Utilise le trait de caractère par défaut std::char_traits et l'allocateur par défaut std::allocator.
4) Utilise le type de caractère par défaut
char, le trait de caractère par défaut std::char_traits et l'allocateur par défaut std::allocator. |
(jusqu'à C++11) |
Paramètres
| zéro | - | caractère à utiliser pour représenter false |
| un | - | caractère à utiliser pour représenter true |
Valeur de retour
Exceptions
Peut lever std::bad_alloc depuis le constructeur de std::basic_string .
Notes
Depuis C++11, les fonctions templates peuvent avoir des arguments template par défaut. LWG issue 1113 a supprimé les surcharges d'assistance ( 2-4 ) et a ajouté les arguments template par défaut correspondants dans ( 1 ) .
Exemple
#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'; }
Sortie :
00101010 **1*1*1* OOXOXOXO
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | Appliqué à | Comportement publié | Comportement corrigé |
|---|---|---|---|
| LWG 396 | C++98 |
les bits zéro et un étaient convertis en caractères
0
et 1 (qui ne correspondent pas à '0' et '1' ) |
ajout de paramètres pour fournir
les valeurs de ces caractères |
| LWG 434 | C++98 | tous les arguments template devaient être fournis | ajout de surcharges ( 2-4 ) |
| LWG 853 | C++98 |
les surcharges
(
2-4
)
n'avaient pas les arguments
par défaut ajoutés par LWG issue 396 |
également ajoutés |
Voir aussi
|
retourne une représentation
unsigned
long
entière des données
(fonction membre publique) |
|
|
(C++11)
|
retourne une représentation
unsigned
long
long
entière des données
(fonction membre publique) |