std::multiset emplace_hint() 方法
- 自 C++11 起
// Non const version only
template <class... Args>
iterator emplace_hint( const_iterator hint, Args&&... args );
在尽可能靠近 hint
之前的位置插入一个新元素到容器中。该元素原地构造,即不执行复制或移动操作。
元素的构造函数将使用与提供给函数完全相同的参数调用,并通过 std::forward<Args>(args)...
进行转发。
注意
不使任何迭代器或引用失效。
参数
hint
- 指向新元素将插入位置之前的迭代器args
- 转发给元素构造函数的参数
返回值
返回一个指向新插入元素的迭代器。
复杂度
通常情况下,时间复杂度与容器大小呈对数关系 - O(log size())。
如果新元素恰好插入在 hint
之前,则摊销常数时间复杂度为 - O(1)。
异常
如果任何操作抛出异常,此函数不产生任何影响(强异常保证)。