cplusplus
.com
教程
参考
文章
论坛
C++
教程
参考
文章
论坛
参考
C 库
<cassert> (assert.h)
<cctype> (ctype.h)
<cerrno> (errno.h)
C++11
<cfenv> (fenv.h)
<cfloat> (float.h)
C++11
<cinttypes> (inttypes.h)
<ciso646> (iso646.h)
<climits> (limits.h)
<clocale> (locale.h)
<cmath> (math.h)
<csetjmp> (setjmp.h)
<csignal> (signal.h)
<cstdarg> (stdarg.h)
C++11
<cstdbool> (stdbool.h)
<cstddef> (stddef.h)
C++11
<cstdint> (stdint.h)
<cstdio> (stdio.h)
<cstdlib> (stdlib.h)
<cstring> (string.h)
C++11
<ctgmath> (tgmath.h)
<ctime> (time.h)
C++11
<cuchar> (uchar.h)
<cwchar> (wchar.h)
<cwctype> (wctype.h)
容器
C++11
<array>
<deque>
C++11
<forward_list>
<list>
<map>
<queue>
<set>
<stack>
C++11
<unordered_map>
C++11
<unordered_set>
<vector>
输入/输出
<fstream>
<iomanip>
<ios>
<iosfwd>
<iostream>
<istream>
<ostream>
<sstream>
<streambuf>
多线程
C++11
<atomic>
C++11
<condition_variable>
C++11
<future>
C++11
<mutex>
C++11
<thread>
其他
<algorithm>
<bitset>
C++11
<chrono>
C++11
<codecvt>
<complex>
<exception>
<functional>
C++11
<initializer_list>
<iterator>
<limits>
<locale>
<memory>
<new>
<numeric>
C++11
<random>
C++11
<ratio>
C++11
<regex>
<stdexcept>
<string>
C++11
<system_error>
C++11
<tuple>
C++11
<type_traits>
C++11
<typeindex>
<typeinfo>
<utility>
<valarray>
<unordered_set>
C++11
unordered_multiset
C++11
unordered_set
unordered_multiset
C++11
unordered_multiset::~unordered_multiset
C++11
unordered_multiset::unordered_multiset
成员函数
C++11
unordered_multiset::begin
C++11
unordered_multiset::bucket
C++11
unordered_multiset::bucket_count
C++11
unordered_multiset::bucket_size
C++11
unordered_multiset::cbegin
C++11
unordered_multiset::cend
C++11
unordered_multiset::clear
C++11
unordered_multiset::count
C++11
unordered_multiset::emplace
C++11
unordered_multiset::emplace_hint
C++11
unordered_multiset::empty
C++11
unordered_multiset::end
C++11
unordered_multiset::equal_range
C++11
unordered_multiset::erase
C++11
unordered_multiset::find
C++11
unordered_multiset::get_allocator
C++11
unordered_multiset::hash_function
C++11
unordered_multiset::insert
C++11
unordered_multiset::key_eq
C++11
unordered_multiset::load_factor
C++11
unordered_multiset::max_bucket_count
C++11
unordered_multiset::max_load_factor
C++11
unordered_multiset::max_size
C++11
unordered_multiset::operator=
C++11
unordered_multiset::rehash
C++11
unordered_multiset::reserve
C++11
unordered_multiset::size
C++11
unordered_multiset::swap
非成员重载
C++11
运算符 (unordered_multiset)
C++11
swap (unordered_multiset)
参考
<unordered_set>
unordered_multiset
emplace_hint
public member function
<unordered_set>
std::
unordered_multiset
::emplace_hint
template <class... Args>iterator emplace_hint ( const_iterator position, Args&&... args );
带提示构建并插入元素
在 unordered_multiset 中插入新元素。使用 args 作为元素构造函数的参数,在原地构造此新元素。
position
指向容器中的一个位置,该位置被建议作为搜索插入点的提示(容器可能使用也可能不使用此建议来优化插入操作)。
这有效地使容器的 size 增加了 1。
有一个类似的成员函数 insert,它会复制或移动现有对象到容器中,并且也可以接受一个位置提示。
参数
position
作为插入操作的插入位置提示。该值可能被容器用来优化操作。
成员类型
const_iterator
是一个
forward iterator
类型。
args
传递给要插入的新元素的构造函数的参数。
返回值
指向新插入元素的迭代器。
成员类型
iterator
是一个
forward iterator
类型。
unordered_multiset
中的所有迭代器都对元素具有 const 访问权限:可以插入或移除元素,但在容器中不能修改它们。
新元素的存储使用
allocator_traits<allocator_type>::construct()
分配,这在失败时可能会抛出异常(对于默认的
allocator
,
bad_alloc
如果分配请求不成功,则抛出)。
示例
还没有示例。请参阅 unordered_multiset::emplace 的示例。
复杂度
平均情况:常量。
最坏情况:容器大小的线性。
可能会强制执行
rehash
(未包含)。
迭代器有效性
在大多数情况下,插入后容器中的所有迭代器都保持有效。唯一的例外是当容器的增长强制重新哈希时。在这种情况下,容器中的所有迭代器都将失效。
如果插入操作后新容器的大小会超过其容量阈值(计算方法为容器的 bucket_count 乘以其 max_load_factor),则会强制进行 rehash。
在所有情况下,即使在 rehash 之后,引用仍然保持有效。
另见
unordered_multiset::emplace
构造并插入元素
(公开成员函数)
unordered_multiset::insert
插入元素
(公开成员函数)