为什么std::unordereded_map::template()会失败

Why would std::unordered_map::emplace() fail?

本文关键字:template 失败 map std unordereded 为什么      更新时间:2023-10-16

我有一个std::unordered_map,我通过将对象emplace()

my_map.emplace(std::piecewise_construct,
               std::forward_as_tuple(key),
               std::forward_as_tuple(value1, value2));

这在运行时的某个时刻失败,返回元组的第二个位置有false。有没有办法获得更多关于正在发生的事情的信息?top没有显示任何内存问题。

.second中的false表示"等价元素已经存在"。在这种情况下,.first中的迭代器指向该等价元素。

因此,现在的情况是,映射中已经有key,您可以在返回值上使用.first来访问它。