Namespaces
Variants

std::bitset<N>::to_string

De es.cppreference.net
 
 
Biblioteca de utilidades
Soporte del lenguaje
Soporte de tipos (tipos básicos, RTTI)
Macros de prueba de características de la biblioteca (C++20)
Utilidades del programa
Funciones variádicas
Soporte de corrutinas (C++20)
Soporte de contratos (C++26)
Comparación tripartita
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilidades generales
Operadores relacionales (obsoleto en C++20)
 
 
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) (hasta 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;
(desde C++11)
(constexpr desde C++23)
template< class CharT, class Traits >
std::basic_string<CharT, Traits>
    to_string( CharT zero = CharT('0'),
               CharT one = CharT('1') ) const;
(2) (hasta C++11)
template< class CharT >
std::basic_string<CharT> to_string( CharT zero = CharT('0'),
                                    CharT one = CharT('1') ) const;
(3) (hasta C++11)
std::string to_string( char zero = '0', char one = '1' ) const;
(4) (hasta C++11)

Convierte el contenido del bitset en una cadena. Usa 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 (el N-1ésimo) y el último carácter corresponde al primer bit.

Todos los argumentos de tipo de la plantilla deben proporcionarse porque las plantillas de funciones no pueden tener argumentos de plantilla predeterminados. Las sobrecargas (2-4) se proporcionan para simplificar las invocaciones de to_string:

2) Usa el asignador predeterminado std::allocator.
3) Usa el rasgo de carácter predeterminado std::char_traits y el asignador predeterminado std::allocator.
4) Usa el tipo de carácter predeterminado char, el rasgo de carácter predeterminado std::char_traits y el asignador predeterminado std::allocator.
(hasta C++11)

Parámetros

cero - carácter a utilizar para representar false
uno - carácter a utilizar para representar true

Valor de retorno

1) La cadena convertida.
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 ) .

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)