std::list<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, что обычно использует размещающее new для создания элемента на месте в указанном контейнером месте. Аргументы args... передаются в конструктор как std::forward<Args>(args)....
Ни один итератор или ссылка не становятся недействительными.
Параметры
| 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/w/cpp/container/list/emplace_front