c++ - std::unordered_set的迭代顺序

标签 c++ c++11 unordered-map libstdc++ unordered-set

使用std::unordered_set(或std::unordered_map)的相同代码是否可以在两台不同的计算机上运行并使用完全相同的g++版本进行编译,从而给出相同的迭代顺序?
相关但略有不同的问题

  • Is the order of two same unordered_maps the same?

  • 我在这里添加一些评论,以更好地解释我要理解的内容。
    在这种情况下,就迭代顺序而言,为了达到相同的行为而修复编译器版本是否足够?还是取决于其他一些东西?
    感谢您指出该标准不施加任何行为。但是,必须明确定义实现。最后,它是计算机代码,因此是确定性的和定义明确的。我想到的唯一替代方法是,某些疯狂的实现可能会使用某些真正的随机来源,但我认为这种可能性很小。

    最佳答案

    C++标准中没有什么可以建议的。
    在该特定主题上,g++似乎没有任何标准规定的文档。
    完全笼统地说,我不会说。

    关于c++ - std::unordered_set的迭代顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63227856/

    相关文章:

    c++ - C : x86 Intel Intrinsics usage of _mm_log2_ps() -> error: incompatible type 'int' ?

    c++ - 异步等待直到套接字可用于在 Asio 中读/写

    c++ - ostream&...这里的 '&' 是什么?

    C++ 无序_Map : Receiving "error: expected unqualified-id before ‘[’ token"at Compile

    c++ - 当我从类成员函数返回 *this 时,为什么会调用我的复制构造函数?

    c++ - 在 C++ 中制作迭代器的哈希表

    c++ - const auto 和对象恒常性

    c++ - 根据指定的时间间隔将浮点值映射到函数

    c++ - boost::unordered_map 是否返回值的引用或拷贝

    c++ - 有哪些好的做法可以帮助防止 unordered_maps 和 vector 中的 std::bad_alloc?