Здавалка
Главная | Обратная связь

Анализ и использование класса vector. Библиотека vector.



Класс vector поддерживает динамический массив и счетчик элементов, сохраненных в нем. Спецификация его шаблона имеет следующий вид:

template <class T, class Allocator = Allocator<T>>class vector

Здесь T - тип сохраняемых данных, а Allocator задает распределитель. Класс vector имеет следующие конструкторы:

explicit vector(const Allocator &a = Allocator()); explicit vector(size_type num, const T &val = T(), const Allocator &a = Allocator()); vector(const vector <T,Allocator> &ob); template < class InIter> vector(InIter start, InIter end, const Allocator &a = Allocator());

Первая форма конструктора создает пустой вектор. Вторая создает вектор, который создает num элементов со значением val. Третья создает вектор, который содержит те же элементы, что и вектор ob. Четвертая создает вектор, который содержит элементы в диапазоне, заданном параметрами start и end.

Для класса vector определены следующие операторы сравнения:

  • ==
  • <
  • <=
  • !=
  • >
  • >=

Класс vector содержит следующие функции-члены:

template <class InIter> void assign(InIter start, InIter end);

Помещает в вектор последовательность, определяемую параметрами start и end.

void assign(size_type num, const T &val);

Помещает в вектор num элементов со значением val.

reference at(size_type i);

const_reference at(size_type i) const;

Возвращает ссылку на элемент, заданный параметром i. При этом, в отличие от перегруженного оператора [] данная функция в случае выхода за пределы массива генерирует исключение.

reference back();

const_reference back() const;

Возвращает ссылку на последний элемент в векторе.

iterator begin();

const_iterator begin() const;

Возвращает итератор для первого элемента в векторе.

size_type capacity() const;

Возвращает текущую ёмкость вектора, которая представляет собой количество элементов, способное храниться в векторе до того, как возникнет необходимость в выделении дополнительной памяти.

void clear();

Удаляет все элементы из вектора.

bool empty() const;

Возвращает значение истины, если используемый вектор пуст, и значение лжи в противном случае.

const_iterator end() const;

iterator end();

Возвращает итератор для конца вектора.

iterator erase(iterator i);

Удаляет элемент, адресуемый итератором i, возвращает итератор для элемента, расположенного после удаленного.

iterator erase(iterator start, iterator end);

Удаляет элементы в диапазоне, задаваемом параметрами start и end, возвращает итератор для элемента, расположенного за последним удалённым элементом.

reference front();

const_reference front() const;

Возвращает ссылку на первый элемент в векторе.

allocator_type get_allocator() const;

Возвращает распределитель вектора.

iterator insert(iterator i, const T &val = T());

Вставляет значение val непосредственно перед элементом, заданным параметром i, возвращает итератор для этого элемента.

void insert(iterator i, size_type num, const T &val);

Вставляет num копий значения val непосредственно перед элементом, заданным параметром i.

template <class InIter> void insert(iterator i, InIter start, InIter end);

Вставляет в вектор последовательность, определяемую параметрами start и end, непосредственно перед элементом, заданным параметром i.

size_type max_size() const;

Возвращает максимальное число элементов, которое может содержать вектор.

reference operator[](size_type i) const;

const_reference operator[](size_type i) const;

Возвращает ссылку на элемент, заданный параметром i.

void pop_back();

Удаляет последний элемент в векторе.

void push_back(const T &val);

Добавлчет в конец вектора элемент со значением, заданным параметром val.

reverse_iterator rbegin();

const_reverse_iterator rbegin() const;

Возвращает реверсивный итератор для конца вектора.

reverse_iterator rend();

const_reverse_iterator rend() const;

Возвращает реверсивный итератор для начала вектора.

void reverse(size_type num);

Устанавливает емкость вектора равной не менее заданного значения num

void resize(size_type num, const T &val = T());

Устанавливает емкость вектора равной не менее заданного значения num, если вектор для этого нужно удлинить, то в его конец добавляются элементы со значением, заданным параметром val.

size_type size() const;

Возвращает текущее количество элементов в векторе.

void swap(deque<T,Allocator> &ob);

Выполняет обмен элементами данного вектора и вектора ob.

void flip();

Инвертирует значения всех битов в векторе.

static void swap(reference i, reference j);

Переставляет местами биты, заданные параметрами i и j.

Предыдущая Оглавление Следующая
Предыдущая Оглавление Следующая






©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.