Пространства имён
Варианты
Действия

std::unordered_set::emplace_hint

Материал из cppreference.com

 
 
 
 
template <class... Args>
iterator emplace_hint( const_iterator hint, Args&&... args );
(начиная с C++11)
Вставляет новый элемент в контейнер, используя hint как предположение для позиции в которую нужно вставить элемент. Элемент будет построен на месте, т.е. без операций копирования или перемещения. The constructor of the element is called with exactly the same arguments as supplied to the function, forwarded with std::forward<Args>(args)....
Оригинал:
Inserts a new element to the container, using hint as a suggestion where the element should go. The element is constructed in-place, i.e. no copy or move operations are performed. The constructor of the element is called with exactly the same arguments as supplied to the function, forwarded with std::forward<Args>(args)....
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Если во время вставки происходит перехеширование, все итераторы и указатели становятся недействительными. В противном случае итераторы и указатели остаются без изменений. Перехеширование происходит только если число элементов больше, чем max_load_factor()*bucket_count().

Содержание

[править] Параметры

hint
итератор, используемый в качестве предположения о позиции, в которую нужно вставить новый элемент
Оригинал:
iterator, used as a suggestion as to where to insert the new element
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
args
Аргументы для перенаправления в конструктор элемента
Оригинал:
arguments to forward to the constructor of the element
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] Возвращаемое значение

Возвращает итератор на вставленный элемент.
Оригинал:
Returns an iterator to the newly inserted element.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

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

[править] Сложность

Амортизационно константа в среднем, в худшем случае линейная относительно размера контейнера.

[править] См. также

(C++11)
создаёт элемент на месте
(public функция-элемент) [править]
(C++11)
вставляет элементы или узлы (начиная с C++17)
(public функция-элемент) [править]