На этом шаге мы еще раз перечислим основные операции над контейнерами.
В таблице 1 перечислены операции, общие для всех контейнеров. Некоторые из них более подробно описаны в следующих шагах.
| Операция | Описание |
|---|---|
| ContType с | Создает пустой контейнер, не содержащий элементов |
| ContType c1(c2) | Создает копию контейнера того же типа |
| ContType c(beg,end) | Создает контейнер и инициализирует его копиями всех элементов в интервале [beg,end) |
| с.~ContType() | Удаляет все элементы и освобождает память |
| c.size() | Возвращает фактическое количество элементов |
| c.empty() | Проверяет, пуст ли контейнер (эквивалент size()==0, но иногда выполняется быстрее) |
| c.max_size() | Возвращает максимально возможное количество элементов |
| с1==с2 | Проверяет равенство с1 и с2 |
| с1 != с2 | Проверяет неравенство с1 и с2 (эквивалентно !(c1==c2)) |
| c1 < с2 | Проверяет, что c1 меньше с2 |
| c1 > с2 | Проверяет, что c1 больше с2 |
| c1 <= с2 | Проверяет, что c1 не больше с2 |
| c1 >= с2 | Проверяет, что c1 не меньше с2 |
| c1 = с2 | Присваивает c1 все элементы с2 |
| с1.swap(c2) | Меняет местами содержимое c1 и с2 |
| swap(c1,c2) | To же, но в форме глобальной функции |
| c.begin() | Возвращает итератор для первого элемента |
| c.end() | Возвращает итератор для позиции за последним элементом |
| c.rbegin() | Возвращает обратный итератор для первого элемента при переборе в обратном направлении |
| c.rend() | Возвращает обратный итератор для позиции за последним элементом при переборе в обратном направлении |
| c.insert(pos,elem) | Вставляет копию elem (с разными вариантами возвращаемого значения и интерпретацией первого аргумента) |
| c.erase(beg,end) | Удаляет все элементы из интервала [beg,end) (некоторые контейнеры) |
| с.сlеаr() | Удаляет из контейнера все элементы (контейнер остается пустым) |
| c.get_allocator() | Возвращает модель памяти контейнера |
На следующем шаге мы рассмотрим особенности инициализации контейнера.