Учебники

Библиотека C ++ – <вектор>

Векторы представляют собой контейнер последовательности, который может изменять размер. Контейнер – это объекты, которые содержат данные одного типа. Контейнеры последовательности хранят элементы строго в линейной последовательности.

Vector хранит элементы в смежных областях памяти и обеспечивает прямой доступ к любому элементу с помощью оператора индекса []. В отличие от массива, вектор может уменьшаться или расширяться по мере необходимости во время выполнения. Хранение вектора обрабатывается автоматически.

Чтобы поддерживать функциональность сжатия и расширения во время выполнения, векторный контейнер может выделять дополнительное хранилище для возможного роста, таким образом, фактическая емкость контейнера превышает размер. Таким образом, по сравнению с массивом вектор использует больше памяти в обмен на способность управлять хранилищем и эффективно расти динамически.

Нулевые векторы также действительны. В этом случае vector.begin () и vector.end () указывают на одно и то же местоположение. Но поведение вызова front () или back () не определено.

Определение

Ниже приведено определение std :: vector из заголовочного файла <vector>

template < class T, class Alloc = allocator<T> > class vector;

параметры

  • T – Тип содержащегося элемента.

    T может быть заменен любым другим типом данных, включая определенный пользователем тип.

  • Alloc – Тип объекта-распределителя.

    По умолчанию используется шаблон класса распределителя, который определяет простейшую модель выделения памяти и не зависит от значения.

T – Тип содержащегося элемента.

T может быть заменен любым другим типом данных, включая определенный пользователем тип.

Alloc – Тип объекта-распределителя.

По умолчанию используется шаблон класса распределителя, который определяет простейшую модель выделения памяти и не зависит от значения.

Типы участников

Следующие типы элементов могут использоваться в качестве параметров или типа возврата функциями-членами.

Sr.No. Типы участников Определение
1 тип ценности T (Первый параметр шаблона)
2 allocator_type Alloc (Второй параметр шаблона)
3 ссылка тип ценности&
4 const_reference const value_type &
5 указатель тип ценности*
6 const_pointer const value_type *
7 итератор итератор произвольного доступа к value_type
8 const_iterator итератор с произвольным доступом к const value_type
9 reverse_iterator std :: reverse_iterator <итератор>
10 const_reverse_iterator std :: reverse_iterator <const_iterator>
11 size_type size_t
12 difference_type ptrdiff_t

Функции из <вектора>

Ниже приведен список всех методов из заголовка <vector>.

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

Создает контейнер с n элементами и присваивает значение val каждому элементу.

Создает контейнер с таким количеством элементов в диапазоне от первого до последнего.

Создает контейнер с копией каждого элемента, присутствующего в существующем контейнере x.

Создает контейнер с содержимым другого, используя семантику перемещения .

Создает контейнер из списка инициализатора.

Уничтожает контейнер путем освобождения памяти контейнера.

Присвойте новые значения элементам вектора, заменив старые.

Присвойте новые значения элементам вектора, заменив старые.

Присвойте новые значения элементам вектора, заменив старые.

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

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

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

Возвращает размер выделенного хранилища, выраженный в терминах элементов.

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

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

Уничтожает вектор, удаляя все элементы из вектора и устанавливает размер вектора равным нулю.

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

Возвращает постоянный обратный итератор, который указывает на обратный конец вектора.

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

Расширяет контейнер, вставляя новый элемент в позицию .

Вставляет новый элемент в конце вектора.

Проверяет, является ли вектор пустым или нет.

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

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

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

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

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

Расширяет итератор, вставляя новый элемент в позицию.

Расширяет вектор, вставляя новый элемент в контейнер.

Расширяет вектор, вставляя новый элемент в контейнер.

Расширяет вектор, вставляя новый элемент в контейнер.

Расширяет вектор, вставляя новый элемент в контейнер.

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

Присвойте новое содержимое вектору, заменив старое, и при необходимости измените размер.

Присвойте новое содержимое вектору, заменив старое, и при необходимости измените размер.

Присвойте новое содержимое вектору, заменив старое, и при необходимости измените размер.

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

Удаляет последний элемент из вектора и уменьшает размер вектора на единицу.

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

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

Возвращает обратный итератор, который указывает на обратный конец вектора.

Запросов на резервирование векторной емкости должно быть как минимум достаточно, чтобы содержать n элементов.

Изменяет размер вектора.

Запрашивает контейнер, чтобы уменьшить его емкость, чтобы соответствовать его размеру.

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

Обменивает содержимое вектора с содержимым вектора x .

Проверяет, равны ли два вектора или нет.

Проверяет, равны ли два вектора или нет.

Проверяет, меньше ли первый вектор, чем другие, или нет.

Проверяет, является ли первый вектор меньше или равен другому или нет.

Проверяет, больше ли первый вектор, чем другой, или нет.

Проверяет, является ли первый вектор большим или равным другому или нет.

Обменяет содержимое двух векторов.