Прототипы конструктора контейнера 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, они являются основными.