На этом шаге мы рассмотрим операции, не изменяющие векторы.
В таблице 1 перечислены все операции, выполняемые без модификации вектора. Дополнительные замечания приведены
в шагах 125 и 130.
Таблица 1. Немодифицирующие операции над векторами
Операция | Описание |
---|---|
c.size() | Возвращает фактическое количество элементов |
c.empty() | Проверяет, пуст ли контейнер (эквивалент size()==0, но иногда выполняется быстрее) |
c.max_size() | Возвращает максимально возможное количество элементов |
capacity() | Возвращает максимально возможное количество элементов без перераспределения памяти |
reserve() | Увеличивает емкость вектора, если текущая емкость меньше заданной1 |
c1 == с2 | Проверяет равенство с1 и с2 |
с1 != с2 | Проверяет неравенство с1 и с2 (эквивалент !(cl==c2)) |
с1 < с2 | Проверяет, что с1 меньше с2 |
c1 > с2 | Проверяет, что с1 больше с2 (эквивалент c2<с1) |
с1 <= с2 | Проверяет, что с1 не больше с2 (эквивалент !(c2<с1)) |
с1 >= с2 | Проверяет, что с1 не меньше с2 (эквивалент !(с1<c2)) |
1Функция reserve() изменяет вектор, поскольку в результате ее выполнения становятся недействительными
ссылки, указатели и итераторы. Тем не менее она включена в таблицу, потому что вызов reserve() не меняет логического
содержимого контейнера.
На следующем шаге мы рассмотрим операции присваивания.