std::bitset<N>:: to_string
| (1) | ||
|
template
<
class
CharT,
class
Traits,
class
Allocator
>
std::
basic_string
<
CharT, Traits, Allocator
>
|
(до C++11) | |
|
template
<
class
CharT
=
char
,
|
(начиная с C++11)
(constexpr начиная с C++23) |
|
|
template
<
class
CharT,
class
Traits
>
std::
basic_string
<
CharT, Traits
>
|
(2) | (до C++11) |
|
template
<
class
CharT
>
std::
basic_string
<
CharT
>
to_string
(
CharT zero
=
CharT
(
'0'
)
,
|
(3) | (до C++11) |
|
std::
string
to_string
(
char
zero
=
'0'
,
char
one
=
'1'
)
const
;
|
(4) | (до C++11) |
Преобразует содержимое битового набора в строку. Использует zero для представления битов со значением false и one для представления битов со значением true .
Результирующая строка содержит N символов, причем первый символ соответствует последнему ( N - 1 му ) биту, а последний символ соответствует первому биту.
|
Все аргументы шаблонного типа должны быть указаны, поскольку шаблоны функций не могут иметь аргументов по умолчанию. Перегруженные версии
(2-4)
предоставлены для упрощения вызовов
2)
Использует аллокатор по умолчанию
std::allocator
.
3)
Использует характеристику символов по умолчанию
std::char_traits
и аллокатор по умолчанию
std::allocator
.
4)
Использует тип символа по умолчанию
char
, характеристику символов по умолчанию
std::char_traits
и аллокатор по умолчанию
std::allocator
.
|
(until C++11) |
Содержание |
Параметры
| ноль | - | символ для представления false |
| один | - | символ для представления true |
Возвращаемое значение
Исключения
Может выбрасывать std::bad_alloc из конструктора std::basic_string .
Примечания
Начиная с C++11, шаблоны функций могут иметь аргументы по умолчанию для шаблонов. LWG issue 1113 удалил вспомогательные перегрузки ( 2-4 ) и добавил соответствующие аргументы по умолчанию для шаблонов в ( 1 ) .
Пример
#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'; }
Вывод:
00101010 **1*1*1* OOXOXOXO
Отчеты о дефектах
Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 396 | C++98 |
нули и единицы преобразовывались в символы
0
и 1 (которые не соответствуют '0' и '1' ) |
добавлены параметры для предоставления
значений этих символов |
| LWG 434 | C++98 | все шаблонные аргументы должны были предоставляться | добавлены перегрузки ( 2-4 ) |
| LWG 853 | C++98 |
перегрузки
(
2-4
)
не имели аргументов по умолчанию,
добавленных LWG issue 396 |
также добавлены |
Смотрите также
|
возвращает представление данных в виде целого числа типа
unsigned
long
(публичная функция-член) |
|
|
(C++11)
|
возвращает представление данных в виде целого числа типа
unsigned
long
long
(публичная функция-член) |