gpt4 book ai didi

c++ - std::unordered_map 相等性是否取决于插入顺序

转载 作者:IT老高 更新时间:2023-10-28 12:35:59 27 4
gpt4 key购买 nike

如果您创建两个 std::unordered_map 容器使用相同的一组(不相等)键值对,但以不同的顺序插入(因此容器包含相等的元素,但可能在不同的顺序),是保证相等的容器,根据相等运算符(operator==)。我假设容器元素的哈希码和相等运算符满足其实现所需的所有约束。

最佳答案

是的,在这种情况下,它们保证返回相等。具体措辞(来自 N4659,§[unord.req]/12)是:

Two unordered containers a and b compare equal if a.size() == b.size() and, for every equivalent-key group [Ea1, Ea2) obtained from a.equal_range(Ea1), there exists an equivalent-key group [Eb1, Eb2) obtained from b.equal_range(Ea1), such that is_permutation(Ea1, Ea2, Eb1, Eb2) returns true.

因此,只要一个中的键(和关联的值)与另一个相同(但可能以不同的排列顺序),它就会比较相等。

关于c++ - std::unordered_map 相等性是否取决于插入顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51710926/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com