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