Spec-Zone.ru › C++

std::multimap<Key,T,Compare,Allocator>::emplace_hint

template< class... Args >
iterator emplace_hint( const_iterator hint, Args&&... args );
(с C++11)

Вставляет новый элемент в контейнер как можно ближе к позиции, расположенной непосредственно перед hint. Элемент конструируется на месте, то есть не выполняются операции копирования или перемещения.

Конструктор типа элемента (value_type, то есть std::pair<const Key, T>) вызывается с точно такими же аргументами, как и предоставленными в функцию, переданными с помощью std::forward<Args>(args)....

Ни один итератор или ссылка не становятся недействительными.

Параметры

hint - итератор на позицию перед которой будет вставлен новый элемент
args - аргументы для передачи конструктору элемента

Возвращаемое значение

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

Исключения

Если при любой операции возникает исключение, эта функция не выполняется (сильная гарантия исключений).

Сложность

Логарифмическая по размеру контейнера в общем случае, но амортизированная постоянная, если новый элемент вставляется непосредственно перед hint.

См. также

emplace
(C++11)
создает элемент на месте
(публичный член-функция)
insert
вставляет элементы или узлы(с C++17)
(публичный член-функция)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/container/multimap/emplace_hint

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API