Поделиться через


deque Class

Deque контейнера последовательности библиотеки стандартных шаблонов (STL) упорядочивает элементы заданного типа линейная упорядочение и, подобно векторов, позволяют быстро произвольный доступ к любой элемент и возможность эффективного вставки и удаления в конце контейнера.Однако в отличие от векторной deque класса также поддерживает эффективный вставки и удаления в передней части контейнера.

template <
   class Type, 
   class Allocator=allocator<Type> 
>
   class deque

Параметры

  • Тип
    Тип данных элемента, хранимой в deque.

  • Allocator
    Тип, представляющий объект хранимых распределителя, инкапсулирующий сведения о deque выделения и освобождения памяти.Этот аргумент является необязательным и по умолчанию используется значение распределитель <Type>.

Заметки

В целом Выбор типа контейнера должно быть основано на тип поиска и вставки необходимые для приложения.Векторы должно быть предпочтительным контейнером для управление последовательностью произвольный доступ к любому элементу спросом и вставки или удаления элементов, только необходимые в конце последовательности.Производительность список контейнера старшего при эффективной вставленные и удаленные элементы (в постоянное время) в любом месте в пределах последовательности ограничено.Таких операций в середине последовательности требуются копии элемента и назначений, пропорционально количеству элементов в последовательности (линейное время).

Перераспределение deque возникает, когда функция-член, необходимо вставить или удалить элементы последовательности:

  • Если элемент вставляется пустая последовательность, или если оставить пустую последовательность удаляется элемент, затем итераторы ранее возвращенный Начать и конец , становятся недействительными.

  • Если элемент вставляется в первой позиции deque, а затем всех итераторов, но нет ссылки, которые определяют существующие элементы становятся недействительными.

  • Если элемент вставляется в конце deque, затем конец и всех итераторов, но нет ссылки, которые определяют существующие элементы становятся недействительными.

  • Если элемент удаляется в передней части deque только итератора и ссылки на элемент уничтоженные становятся недействительными.

  • Если последний элемент удаляется из конца deque, итератор на последний элемент, и ссылки на элемент уничтоженные становятся недействительными.

В противном случае вставка или удаление элемента сделает все итераторы и ссылки.

22a9t119.collapse_all(ru-ru,VS.110).gifКонструкторы

deque

Создает deque. несколько конструкторов, предназначены для настройки содержимого нового deque по-разному: пустой; загрузить с указанным количеством пустых элементов; содержимое, перемещены или скопированы из другого deque; содержимое копируется или перемещается с помощью итератора; и один элемент копируется в deque_Count раз.Некоторые конструкторы включить с помощью настраиваемого allocator для создания элементов.

22a9t119.collapse_all(ru-ru,VS.110).gifОпределения типов

allocator_type

Тип, представляющий allocator класса для deque объект.

const_iterator

Доступ и чтение элементов в тип, который обеспечивает итератора произвольного доступа deque какconst

const_pointer

Тип, который содержит указатель на элемент в deque какconst.

const_reference

Тип, который содержит ссылку на элемент в deque для чтения и других операций, какconst.

const_reverse_iterator

Доступ и чтение элементов в тип, который обеспечивает итератора произвольного доступа deque как const.Deque просматривается в обратном порядке.Дополнительные сведения см. в разделе reverse_iterator Class.

difference_type

Тип, который обеспечивает разность двух итераторов произвольного доступа, которые ссылаются на элементы в том же deque.

итератор

Тип, который обеспечивает итератора произвольного доступа можно считывать и изменять любой элемент в deque.

указатели

Тип, который содержит указатель на элемент в deque.

Ссылка

Тип, который содержит ссылку на элемент в deque.

reverse_iterator

Тип, который обеспечивает итератора произвольного доступа можно считывать и изменять элемент в deque.Deque просматривается в обратном порядке.

size_type

Тип, который подсчитывает количество элементов в deque.

value_type

Тип, представляющий тип данных, хранящихся в deque.

22a9t119.collapse_all(ru-ru,VS.110).gifФункции-члены

assign

Удаление элементов из deque и копирует последовательность элементов целевой deque.

at

Возвращает ссылку на элемент в указанном месте в deque.

back

Возвращает ссылку на последний элемент deque.

begin

Возвращает итератора произвольного доступа, адресация первого элемента в deque.

deque::cbegin

Возвращает первый элемент в const итератор deque.

deque::cend

Возвращает случайное доступ к const итератор, который указывает конец deque.

clear

Удаляет все элементы из deque.

deque::crbegin

Возвращает первый элемент в const итератора произвольного доступа deque для просмотра в обратном порядке.

deque::crend

Возвращает первый элемент в const итератора произвольного доступа deque для просмотра в обратном порядке.

deque::emplace

Вставляет элемент в место в deque в заданной позиции.

deque::emplace_back

Добавляет элемент, построенный на месте в конец deque.

deque::emplace_front

Добавляет элемент, построенный на месте до начала deque.

empty

Возвращает true при deque содержит нулевые элементы и false , если он содержит один или несколько элементов.

end

Возвращает итератора произвольного доступа, который указывает только за пределами deque.

стереть

Удаляет элемент или набор элементов в deque из указанной позиции.

front

Возвращает ссылку на первый элемент в deque.

get_allocator

Возвращает копию allocator объект, который используется для создания deque.

Вставка

Вставляет элемент, несколько элементов или диапазона элементов в deque в заданной позиции.

max_size

Возвращает максимально возможная длина deque.

pop_back

Удаляет элемент в конец deque.

pop_front

Удаляет элемент в начало deque.

push_back

Добавляет элемент в конец deque.

push_front

Добавляет элемент в начало deque.

rbegin

Возвращает первый элемент в обратном порядке итератора произвольного доступа deque.

rend

Возвращает итератора произвольного доступа, указывающий непосредственно после последнего элемента в обратном deque.

resize

Указывает новый размер для deque.

deque::shrink_to_fit

Удаляет избыточные мощности.

size

Возвращает количество элементов в deque.

горячей замены

Обменивается элементы двух deques.

22a9t119.collapse_all(ru-ru,VS.110).gifОператоры

operator[]

Возвращает ссылку на deque элемент, находящийся в указанной позиции.

deque::operator=

Замещает элементы массива deque с копией другого deque.

Требования

Заголовок: <deque>

См. также

Ссылки

Потокобезопасность в стандартной библиотеке C++

Стандартная библиотека шаблонов

Другие ресурсы

члены<deque>

члены класса deque