c++ - C++中的关联和迭代

标签 c++

我遇到过这样一种情况,我想使用关联容器,我选择使用 std::unordered_map,因为这个容器可以用来容纳数百万或更多的元素是完全可行的。但是现在我还需要按顺序迭代。我考虑过在列表中将值类型相互链接,但现在我将遇到内存管理问题。

我应该改变容器,比如说 std::map 吗?或者只是通过我的 unordered_map 迭代一次,插入到一个 vector 中,然后排序,然后迭代?我不太可能需要以有序的方式反复迭代。

最佳答案

嗯,您知道您选择的两个备选方案的各种操作的 O()。您应该基于此进行选择,并根据您需要性能发生的位置以及哪个容器最适合该性能来进行成本/ yield 分析。

当然,我不可能知道足够多的知识来为你做那个分析。

关于c++ - C++中的关联和迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4391655/

相关文章:

c++ - 我可以将 _T() 宏与变量一起使用吗?

c++ - OpenGL/VTK : setting camera intrinsic parameters

c++ - C++ 标准版本与 Visual Studio 版本

c++ - 迭代器..为什么要使用它们?

c++ - boost interprocess file_lock 实际上对目标文件做了什么?

c++ - 如何使用CMake仅在一种模式下拥有变量

c++ - 我应该如何检测大型 C++ 项目中的编译时间瓶颈?

c++ - OpenGL - 纹理未显示在整个定义区域

c++ - 为什么{}作为函数参数不会导致歧义?

c++ - 使用后自动释放内存