std::bitset<N>:: to_string
| (1) | ||
|
template
<
class
CharT,
class
Traits,
class
Allocator
>
std::
basic_string
<
CharT, Traits, Allocator
>
|
(hasta C++11) | |
|
template
<
class
CharT
=
char
,
|
(desde C++11)
(constexpr desde C++23) |
|
|
template
<
class
CharT,
class
Traits
>
std::
basic_string
<
CharT, Traits
>
|
(2) | (hasta C++11) |
|
template
<
class
CharT
>
std::
basic_string
<
CharT
>
to_string
(
CharT zero
=
CharT
(
'0'
)
,
|
(3) | (hasta C++11) |
|
std::
string
to_string
(
char
zero
=
'0'
,
char
one
=
'1'
)
const
;
|
(4) | (hasta C++11) |
Convierte el contenido del bitset a una cadena. Utiliza zero para representar bits con valor de false y one para representar bits con valor de true .
La cadena resultante contiene N caracteres donde el primer carácter corresponde al último bit ( N - 1 th ) y el último carácter corresponde al primer bit.
|
Se deben proporcionar todos los argumentos de tipo de plantilla porque las plantillas de función no pueden tener argumentos de plantilla predeterminados. Se proporcionan sobrecargas
(2-4)
para simplificar las invocaciones de
2)
Utiliza el asignador predeterminado
std::allocator
.
3)
Utiliza el rasgo de carácter predeterminado
std::char_traits
y el asignador predeterminado
std::allocator
.
4)
Utiliza el tipo de carácter predeterminado
char
, el rasgo de carácter predeterminado
std::char_traits
y el asignador predeterminado
std::allocator
.
|
(until C++11) |
Contenidos |
Parámetros
| cero | - | carácter a utilizar para representar false |
| uno | - | carácter a utilizar para representar true |
Valor de retorno
Excepciones
Puede lanzar std::bad_alloc desde el constructor de std::basic_string .
Notas
Desde C++11, las plantillas de funciones pueden tener argumentos de plantilla predeterminados. LWG issue 1113 eliminó las sobrecargas auxiliares ( 2-4 ) y añadió los correspondientes argumentos de plantilla predeterminados en ( 1 ) .
Ejemplo
#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'; }
Salida:
00101010 **1*1*1* OOXOXOXO
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.
| DR | Aplicado a | Comportamiento publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 396 | C++98 |
los bits cero y uno se convertían a caracteres
0
y 1 (que no corresponden a '0' y '1' ) |
se añadieron parámetros para proporcionar
valores para estos caracteres |
| LWG 434 | C++98 | era necesario proporcionar todos los argumentos de plantilla | se añadieron sobrecargas ( 2-4 ) |
| LWG 853 | C++98 |
las sobrecargas
(
2-4
)
no tenían los argumentos
predeterminados añadidos por LWG issue 396 |
también se añadieron |
Véase también
|
devuelve una representación de entero
unsigned
long
de los datos
(función miembro pública) |
|
|
(C++11)
|
devuelve una representación de entero
unsigned
long
long
de los datos
(función miembro pública) |