Контейнерные классы
Ниже приведены контейнеры, определенные библиотекой STL.
Контейнер |
Описание |
Требуемый заголовок |
bitset |
Битовое множество |
<bitset> |
deque |
Дек(двусторонняя очередь, или очередь с двусторонним доступом) |
<deque> |
list |
Линейный список |
<list> |
map |
Отображение. Хранит пары "ключ/значение", в которых каждый ключ связан только с одним значением |
<map> |
multimap |
Мультиотображение. Хранит пары "ключ/значение", в которых каждый ключ может быть связан с двумя или более значениями |
<map> |
multiset |
Множество, в котором каждый элемент необязательно уникален(мультимножество) |
<set> |
priority_queue |
Приоритетная очередь queue |
<queue> |
queue |
Очередь |
<queue> |
set |
Множество, в котором каждый элемент уникален |
<set> |
stack |
Стек |
<stack> |
vector |
Динамический массив |
<vector> |
В последующих разделах подробно рассмотрен каждый из контейнеров. Поскольку контейнеры реализованы с помощью шаблонных классов, это значит, что вы можете использовать различные типы данных. В приведенных ниже описаниях обобщенный тип Т представляет тип данных, сохраняемых контейнером.
Поскольку имена типов в шаблонных классах произвольны, контейнерные классы объявляют typedef-версии этих типов, что конкретизирует имена типов. Некоторые из наиболее популярных имен typedef приведены ниже.
size_type |
Некоторый целочисленный тип, приблизительно эквивалентный типу size_t |
reference |
Ссылка на элемент |
const_reference |
const-ссылка на элемент |
difference_type |
Может представлять разность между двумя адресами |
iterator |
Итератор |
const_iterator |
const-итератор |
reverse_iterator |
Реверсивный итератор |
const_reverse_iterator |
Константный реверсивный итератор |
value_type |
Тип значения, сохраняемого в контейнере(то же самое, что и обобщенный тип т) |
allocator_type |
Тип распределителя |
key_type |
Тип ключа |
key_compare |
Тип функции, которая сравнивает два ключа |
mapped_type |
Тип значения,сохраняемого в отображении(то же самое, что и обобщенный тип Т) |
value_compare |
Тип функции, которая сравнивает два значения |
value_type |
Тип обрабатываемых значений (то же самое, что и обобщенный тип T) |
pointer |
Тип указателя |
const_pointer |
Тип константного указателя |
container_type |
Тип контейнера |
|