gpt4 book ai didi

C++ vs vs vs

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:06:01 30 4
gpt4 key购买 nike

我目前正在寻找 std::map 的更好替代方案,并且遇到了帖子标题中提到的类。有人可以阐明它们之间的区别,不是在性能/API 方面,而是在它们与当前和 future 的通信标准相关的地方。

最佳答案

  • std::map :当前的 C++ 标准关联容器(键/值),作为后面的树;
  • std::unordered_map:下一个标准(C++0x——或在技术报告 1 中)散列映射容器,用作...散列映射。
  • std::tr1::unordered_map :与前一个相同,但在 tr1 命名空间中,通常出现在希望提供 TR1 扩展但在不同于 std 的另一个命名空间中的编译器中。
  • ext::unordered_map :仍然是相同的想法,但特定于编译器的实现,因此不能保证在接口(interface)和实现上与 std::unordered_map 完全相同。

如果可以,请使用 std::unordered_map,因为它是 HashMap 实现的最终名称(如果您需要 HashMap )。其他名称在那里,以防您的编译器提供它们,但在单独的 namespace 中(因为 C++0x 尚未正式可用)。

顺便说一句,还有 boost::unordered_map,但它们几乎都是相同的想法和界面。

关于C++ <map> vs <unordered_map> vs <tr1/unordered_map> vs <ext/unordered_map>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4511350/

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