На этом шаге мы приведем общие сведения о списках.
Элементы контейнера list библиотеки STL объединены в двусвязный список (рисунок 1).
Рис.1. Структура списка
Как обычно, эта реализация не указана в спецификации стандартной библиотеки C++, но обусловлена ограничениями и требованиями, предъявляемыми к контейнеру этого типа.
Чтобы использовать список в программе, необходимо включить в нее заголовочный файл <list>:
#include <list>
Тип списка определяется как шаблон класса в пространстве имен std:
namespace std { template <class T, class Allocator = allocator<T> > class list; }
Элементы списка относятся к произвольному типу Т, поддерживающему присваивание и копирование. Необязательный второй параметр шаблона определяет модель памяти. По умолчанию используется модель allocator, определенная в стандартной библиотеке C++.
На следующем шаге мы рассмотрим возможности списков.