Инструменты пользователя

Инструменты сайта


Боковая панель

Связь

klass_vector

Класс vector

Класс vector поддерживает динамический массив и счетчик элементов, сохраненных в нем. Контейнер в своей внутренней работе постоянно использует операцию копирования, поэтому в vector лучше хранить значения только для простых типов (например int). В случае пользовтельских данных (class) в 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.



klass_vector.txt · Последние изменения: 2011/03/06 18:39 (внешнее изменение)