跳到主要内容

std::unordered_multimap emplace_hint() 方法

// Non const version only
template <class... Args>
iterator emplace_hint( const_iterator hint, Args&&... args );

使用 hint 作为元素应放置位置的建议,向容器中插入一个新元素。元素在原地构造,即不执行复制或移动操作。

元素类型(value_type,即 std::pair<const Key, T>)的构造函数将使用与传递给函数的参数完全相同的参数进行调用,并通过 std::forward<Args>(args)... 进行转发。

失效

如果由于插入而发生重新哈希,则所有迭代器都将失效。

否则,迭代器不受影响。引用不会失效。

仅当新元素数量大于 max_load_factor() * bucket_count() 时,才会发生重新哈希。

参数

  • hint - 迭代器,用作插入新元素的建议位置
  • args - 转发给元素构造函数的参数

返回值

返回一个指向新插入元素的迭代器。

复杂度

平均情况,摊销常数 - O(1)
最坏情况,与容器大小呈线性关系 - O(size())

异常

如果任何操作抛出异常,此函数不产生任何影响(强异常保证)。

示例

重要

本节需要改进。您可以通过编辑此文档页面来帮助我们。

本文来源于此 CppReference 页面。它可能因改进或编辑偏好而被修改。点击“编辑此页面”查看对此文档所做的所有更改。
悬停查看原始许可证。

std::unordered_multimap emplace_hint() 方法

// Non const version only
template <class... Args>
iterator emplace_hint( const_iterator hint, Args&&... args );

使用 hint 作为元素应放置位置的建议,向容器中插入一个新元素。元素在原地构造,即不执行复制或移动操作。

元素类型(value_type,即 std::pair<const Key, T>)的构造函数将使用与传递给函数的参数完全相同的参数进行调用,并通过 std::forward<Args>(args)... 进行转发。

失效

如果由于插入而发生重新哈希,则所有迭代器都将失效。

否则,迭代器不受影响。引用不会失效。

仅当新元素数量大于 max_load_factor() * bucket_count() 时,才会发生重新哈希。

参数

  • hint - 迭代器,用作插入新元素的建议位置
  • args - 转发给元素构造函数的参数

返回值

返回一个指向新插入元素的迭代器。

复杂度

平均情况,摊销常数 - O(1)
最坏情况,与容器大小呈线性关系 - O(size())

异常

如果任何操作抛出异常,此函数不产生任何影响(强异常保证)。

示例

重要

本节需要改进。您可以通过编辑此文档页面来帮助我们。

本文来源于此 CppReference 页面。它可能因改进或编辑偏好而被修改。点击“编辑此页面”查看对此文档所做的所有更改。
悬停查看原始许可证。