std::unordered_multiset<Key,Hash,KeyEqual,Allocator>::emplace
< cpp | container | unordered multiset
|
template< class... Args >
iterator emplace( Args&&... args ); |
(C++11 起) | |
插入以给定的 args 原位构造的新元素到容器。
细心地使用 emplace 允许在构造新元素的同时避免不必要的复制或移动操作。 准确地以与提供给 emplace 者相同的参数,通过 std::forward<Args>(args)... 转发调用新元素的构造函数。
如果因为插入发生重哈希,那么所有迭代器都会失效。否则迭代器不受影响。引用不会失效。重哈希只有在新元素数量大于 max_load_factor() * bucket_count() 时才会发生。
参数
| args | - | 要转发给元素构造函数的参数 |
返回值
指向被插入元素的迭代器。
异常
若任何操作抛出异常,则此函数无效果。
复杂度
平均为均摊常数,最坏情况与容器大小成线性。
示例
| 本节未完成 原因:暂无示例 |
参阅
|
(C++11)
|
使用提示原位构造元素 (公开成员函数) |
|
(C++11)
|
插入元素或结点 (C++17 起) (公开成员函数) |