позволяет добавлять новый элемент, получать значение наибольшего элемента и удалять наибольший элемент.
Во всех контейнерах-адаптерах используются одинаковые имена для функций-членов, связанных с добавлением и удалением элементов. Эти функции-члены описаны в таблице 4.
Таблица 4
Вставка и удаление для контейнеров-адаптеров
Теперь кратко опишем те новые виды контейнеров, которые появились в стандарте C++11.
Контейнер array является контейнерным аналогом массива фиксированного размера. Его шаблон имеет вид: array, где T – это тип элементов, а N – число, задающее размер контейнера. Данный контейнер определен в заголовочном файле . Помимо конструктора без параметров контейнер array можно инициализировать с помощью списка инициализации. Все, кроме одной, функции-члены контейнера array аналогичны по своему назначению одноименным функциям-членам контейнера vector (можно сказать, что array – это контейнер vector без возможности вставки и удаления элементов). Перечислим эти функции-члены:
• функции, описанные в п. 1.2.3: begin и его константный вариант cbegin, empty, end и его константный вариант cend, max_size, rbegin и его константный вариант crbegin, rend и его константный вариант crend, size, swap;
• функции, описанные в п. 1.2.4: operator[], at, back, data, front.
Единственная функция-член, имеющаяся в контейнере array и при этом отсутствующая в контейнере vector, – это функция void fill(value), позволяющая заполнить существующий контейнер array одинаковыми значениями value.
Контейнер forward_list является контейнерной реализацией односвязного списка (в отличие от контейнера list, реализующего двусвязный список). Данный контейнер требует меньше памяти для хранения своих элементов, но при этом обладает и более ограниченным по сравнению со списком list набором возможностей. Его шаблон имеет вид: forward_list, где T – тип элементов списка. Контейнер определен в заголовочном файле . Контейнер forward_list имеет те же варианты конструктора и операции =, что и контейнер list.
Перечислим функции-члены, которые имеются у обеих реализаций списков – как list, так и forward_list – и выполняются аналогичным образом:
• функции, описанные в п. 1.2.3: begin и его константный вариант cbegin, clear, empty, end и его константный вариант cend, max_size, swap;