std::unordered_multimap<Key,T,Hash,KeyEqual,Allocator>::emplace_hint

来自cppreference.com
 
 
 
 
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)... 转发。

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

目录

[编辑] 参数

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

[编辑] 返回值

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

[编辑] 异常

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

[编辑] 复杂度

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

[编辑] 示例

[编辑] 参阅

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