Прототипы конструктора контейнера bitset:
bitset( ); // конструктор по умолчанию bitset( unsigned long _Val); // параметризованный конструктор template<class CharType, class Traits, class Allocator> explicit bitset( const basic_string<CharType, Traits, Allocator>& _Str, typename basic_string<CharType, Traits, Allocator>::size_type _Pos = 0, typename basic_string<CharType, Traits, Allocator>::size_type _Count = basic_string<CharType, Traits, Alloc>::npos );
Заголовочный файл | Класс-контейнер | Спецификатор доступа |
---|---|---|
<bitset> | bitset | public |
Описание
Конструктор класса bitset
создает объект контейнера bitset
. Если используется конструктор по умолчанию, объект bitset инициализируется нулями, в противном случае, его первоначальное содержание будет зависеть от параметров, передаваемых при создании объекта:
Объект bitset
имеет фиксированный размер, который определяется параметром шаблона класса bitset
:
template <size_t N> class bitset;
где N
это количество бит, это значение имеет тип данных size_t
и должно быть целым.
Параметры
- _Val
Целое значение, биты которого копируются в объектbitset
, вплоть до самого младшего бита соответствующего типу данныхunsigned long
. - _Str
Строка, содержащая бинарные значения: 0 или 1. Символы строки анализируются и используются для дальнейшей инициализации объекта. Если какие-то символы будут отличаться от символов 0 или 1,функция вернет значениеinvalid_argument
. Сообщение об ошибке может выглядеть следующи образом:
terminate called after throwing an instance of ‘std::invalid_argument’
what(): bitset::_M_copy_from_ptr - _Pos
Первый параметр в строке, который должен быть считан для инициализации объектаbitset
. - _Count
Количество символов. которые необходимо считать в объектbitset
. Значениеstring::npos
специфицирует максимально возможное количество символов для считывания.
Пример: исходный код программы
// конструктор класса-контейнера bitset #include <iostream> using namespace std; #include <string> #include <bitset> // класс-контейнер bitset int main () { bitset<8> byte; // обнуленный объект bitset bitset<8> ten (10ul); // объект инициализирован значением типа unsigned long bitset<8> tenStr (string("1010")); // в качестве параметра передается строка return 0; }
Обратите внимание на три способа создания объектов класса bitset
, они являются основными.