跳到主要内容

std::multimap emplace_hint() 方法

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

在尽可能靠近 hint 之前的位置插入一个新元素到容器中。该元素原地构造,即不执行复制或移动操作。

新元素(即 std::pair<const Key, T>)的构造函数使用与 emplace 提供的完全相同的参数调用,并通过 std::forward<Args>(args)... 转发。

不使任何迭代器或引用失效。

参数

  • hint - 指向新元素将插入位置之前的迭代器
  • args - 转发给元素构造函数的参数

返回值

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

复杂度

通常情况下,时间复杂度与容器大小呈对数关系 - O(log size())
如果新元素恰好插入在 hint 之前,则摊销常数时间复杂度为 - O(1)

异常

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

本文源自 此 CppReference 页面。它可能为了改进或编辑者的偏好而进行了修改。点击“编辑此页面”可查看此文档的所有更改。
悬停查看原始许可证。

std::multimap emplace_hint() 方法

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

在尽可能靠近 hint 之前的位置插入一个新元素到容器中。该元素原地构造,即不执行复制或移动操作。

新元素(即 std::pair<const Key, T>)的构造函数使用与 emplace 提供的完全相同的参数调用,并通过 std::forward<Args>(args)... 转发。

不使任何迭代器或引用失效。

参数

  • hint - 指向新元素将插入位置之前的迭代器
  • args - 转发给元素构造函数的参数

返回值

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

复杂度

通常情况下,时间复杂度与容器大小呈对数关系 - O(log size())
如果新元素恰好插入在 hint 之前,则摊销常数时间复杂度为 - O(1)

异常

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

本文源自 此 CppReference 页面。它可能为了改进或编辑者的偏好而进行了修改。点击“编辑此页面”可查看此文档的所有更改。
悬停查看原始许可证。