std::bitset<N>:: to_string
| (1) | ||
|
template
<
class
CharT,
class
Traits,
class
Allocator
>
std::
basic_string
<
CharT, Traits, Allocator
>
|
(jusqu'à C++11) | |
|
template
<
class
CharT
=
char
,
|
(depuis C++11)
(constexpr depuis C++23) |
|
|
template
<
class
CharT,
class
Traits
>
std::
basic_string
<
CharT, Traits
>
|
(2) | (jusqu'à C++11) |
|
template
<
class
CharT
>
std::
basic_string
<
CharT
>
to_string
(
CharT zero
=
CharT
(
'0'
)
,
|
(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 ayant la valeur false et one pour représenter les bits ayant la valeur true .
La chaîne résultante contient N caractères, le premier caractère correspondant au dernier bit ( N - 1 ème ) et le dernier caractère correspondant au premier bit.
|
Tous les arguments de type template doivent être fournis car les modèles de fonction ne peuvent pas avoir d'arguments template par défaut. Les surcharges
(2-4)
sont fournies pour simplifier les appels 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) |
Table des matières |
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) |