std::unordered_multiset<Key,Hash,KeyEqual,Allocator>::emplace_hint

来自cppreference.com

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

向容器中插入新元素,以 hint 作为在哪里插入元素的建议。

以同提供给函数完全相同的实参调用键和映射值的构造函数,它们被 std::forward<Args>(args)... 转发。

如果操作后新的元素数量大于原 max_load_factor() * bucket_count() 则会发生重散列。
如果(因插入而)发生了重散列,索引迭代器均会失效。否则(未发生重散列),则迭代器不会失效。

参数

hint - 迭代器,用作要在哪里插入新元素的建议
args - 转发给元素构造函数的实参

返回值

指向被插入元素的迭代器。

异常

如果因为任何原因抛出了异常,那么此函数无效果(强异常安全保证)。

复杂度

平均情况为均摊常数,最差情况与容器大小呈线性。

示例

参阅

原位构造元素
(公开成员函数)
插入元素或节点 (C++17 起)
(公开成员函数)