Namespaces
Variants

std::bitset<N>::to_string

С сайта ru.cppreference.net
 
 
Библиотека утилит
Поддержка языка
Поддержка типов (основные типы, RTTI)
Макросы проверки возможностей библиотеки (C++20)
Программные утилиты
Функции с переменным числом аргументов
Поддержка корутин (C++20)
Поддержка контрактов (C++26)
Трёхстороннее сравнение
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Общие утилиты
Операторы отношений (устарело в 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) (до 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;
(начиная с C++11)
(constexpr начиная с C++23)
template< class CharT, class Traits >
std::basic_string<CharT, Traits>
    to_string( CharT zero = CharT('0'),
               CharT one = CharT('1') ) const;
(2) (до C++11)
template< class CharT >
std::basic_string<CharT> to_string( CharT zero = CharT('0'),
                                    CharT one = CharT('1') ) const;
(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) предоставлены для упрощения вызовов to_string:

2) Использует распределитель по умолчанию std::allocator.
3) Использует характеристику символов по умолчанию std::char_traits и распределитель по умолчанию std::allocator.
4) Использует тип символа по умолчанию char, характеристику символов по умолчанию std::char_traits и распределитель по умолчанию std::allocator.
(до C++11)

Параметры

ноль - символ для представления false
один - символ для представления true

Возвращаемое значение

1) Преобразованная строка.
2) to_string < CharT, Traits, std:: allocator < CharT >> ( zero, one ) .
3) to_string < CharT, std:: char_traits < CharT > , std:: allocator < CharT >> ( ноль, один ) .
4) to_string < char , std:: char_traits < char > , std:: allocator < char >> ( zero, one ) .

Исключения

Может выбрасывать 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
(публичная функция-член)