std::unordered_map emplace_hint() 方法
- 自 C++11 起
// Non const version only
template <class... Args>
iterator emplace_hint( const_iterator hint, Args&&... args );
使用 hint 作为元素应放置位置的建议,向容器中插入一个新元素。元素在原地构造,即不执行复制或移动操作。
使用传递给函数的相同参数(通过 `std::forward<Args>(args)...` 转发)调用元素类型(`value_type`,即 `std::pair<const Key, T>`)的构造函数。
如果由于插入而发生重新哈希,则所有迭代器都将失效。
否则,迭代器不受影响。引用不会失效。
仅当新元素数量大于 max_load_factor() * bucket_count()
时,才会发生重新哈希。
参数
hint
- 迭代器,用作插入新元素的建议位置args
- 转发给元素构造函数的参数
返回值
返回指向新插入元素的迭代器。如果插入失败,因为元素已经存在,则返回指向具有等效键的已存在元素的迭代器。
复杂度
平均情况,常数 - O(1)。
最坏情况,与容器大小呈线性关系 - O(size())。
异常
如果任何操作抛出异常,此函数不产生任何影响(强异常保证)。
示例
本节需要改进。您可以通过编辑此文档页面来帮助我们。