C++ Vectors

Материал из cppreference.com
Перейти к: навигация, поиск


Векторы содержат смежные элементы, хранимые в массиве.

Доступ к членам вектора осуществляется за константное время, добавление элементов к вектору происходит за амортизированное константное время, поскольку определение местонахождения или вставка элементов в вектор занимает линейное время.

Конструкторы создают вектор и инициализируют его какими-то данными
Операторы осуществляют сравнение, присваивание и доступ к элементам вектора
assign присваивает элементы вектору
at возвращает элемент в заданной позиции
back возвращает ссылку на последний элемент вектора
begin возвращает итератор на начало вектора
capacity возвращает количество элементов, которое может содержать вектор
clear удаляет все элементы из вектора
empty истина, если вектор пуст
end возвращает итератор на место после последнего элемента вектора
erase удаляет заданные элементы из вектора
front возвращает ссылку на первый элемент вектора
insert вставляет элементы в вектора
max_size возвращает максимальное число элементов, которое может содержать вектор
pop_back удаляет последний элемент вектора
push_back добавляет элемент в конец вектора
rbegin возвращает reverse_iterator на конец вектора
rend возвращает reverse_iterator на начало вектора
reserve вместимость вектора
resize изменяет размер вектора
size элементов в векторе
swap меняется содержимым данного вектора с другим

[править] Замечания:

Обратите внимание, что булевский вектор (vector<bool>) является специализацией шаблона вектора, разработанной для уменьшения использования памяти. Обычная булевская переменная занимает 1-4 байта памяти, тогда как булевский вектор должен использовать только один бит на каждое булевское значение. При этом невозможно работать с его содержимым как с обычным bool. Например, если v - объект типа vector<bool>, следующий код не скомпилируется: vector<bool> v; v.push_back(true); bool *p = &v[0];

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

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты
На других языках