标准::unordered_map:插入何时失败

When will std::unordered_map::insert fail?

本文关键字:何时 失败 插入 unordered 标准 map      更新时间:2023-10-16

我注意到std::unordered_mapinsert函数返回一个std::pair

std::pair的第二个元素显示值是否确实插入。但是,我对此感到困惑。由哈希映射实现的std::unordered_map在插入时会失败吗?什么时候会发生这种情况?

以下是 cpp首选项中的说明:

返回值
1-2( 返回一对,该对由插入元素(或阻止插入的元素(的迭代器和指示插入是否发生的 bool 组成。

从您链接到的同一页面:

将元素插入容器(

如果容器尚未包含具有等效键的元素(。

(我的强调(

换句话说,如果密钥已存在于映射中,则false bool

请注意,其他故障(如分配失败(将由异常报告(并且容器将保持不变(。