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) | (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 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
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) |