bitset: конструктор класса-контейнера bitset

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

Автор: Marienko L.
Дата: 07.02.2013
Поделиться:

Оставить комментарий

Вы должны войти, чтобы оставить комментарий.