На этом шаге мы приведем общие сведения о списках.
Элементы контейнера list библиотеки STL объединены в двусвязный список (рисунок 1).

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