unordered_map::emplace

插入就地构造的元素 (复制或移动该操作不执行) 到无序映射中。

template<class... Args>
   pair<iterator, bool> emplace(
      Args&&... args);

参数

参数

说明

args

转发的参数构造要插入的元素添加到无序映射,除非它已经包含值相同地排序的元素。

返回值

pair,bool部分为如果插入成功则返回true,如果 unordered_map 已经包含元素则返回false,该元素在排序中有等效值,迭代器部分返回新插入元素的地址或者已存在元素的地址。

访问由该成员函数返回一对pr的迭代器部分,使用 pr.first,对它取消引用,使用 *(pr.first)。 访问由该成员函数返回一对bool的部分,使用 pr,对它取消引用,使用 pr.second。

备注

没有迭代器或通过此函数的引用是无效的。

在插入代码段时,如果异常被抛出,但没有出现在容器的哈希函数中,将不会修改容器。 如果在哈希函数引发异常,则结果是未定义的。

有关代码示例,请参见 map::emplace

要求

标头: <unordered_map>

命名空间: std

请参见

参考

<unordered_map>

unordered_map 类

标准模板库