std::deque<T,Allocator>::emplace_front
template< class... Args > void emplace_front( Args&&... args ); |
(начиная с C++11) (до C++17) | |
template< class... Args > reference emplace_front( Args&&... args ); | (начиная с C++17) |
Вставляет новый элемент в начало контейнера. Элемент конструируется с помощью std::allocator_traits::construct, который обычно использует placement-new для конструирования элемента на месте в области памяти, предоставленной контейнером. Аргументы args... передаются конструктору как std::forward<Args>(args)....
Все итераторы (включая итератор end()) становятся недействительными. Ни одна ссылка не становится недействительной.
Параметры
| args | - | аргументы, передаваемые конструктору элемента |
| Требования к типу | ||
-T (the container's element type) должен удовлетворять требованиям EmplaceConstructible. |
||
Возвращаемое значение
| (нет) | (до C++17) |
| Ссылка на вставленный элемент. | (начиная с C++17) |
Сложность
Постоянная.
Исключения
Если по какой-либо причине выбрасывается исключение, эта функция не оказывает никакого эффекта (гарантия строгой безопасности при исключениях).
См. также
| вставляет элемент в начало (открытая функция-член) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/container/deque/emplace_front