首页 >后端开发 >C++ >我应该选择哪个 C 11 标准库容器?

我应该选择哪个 C 11 标准库容器?

DDD
DDD原创
2024-12-15 01:18:13760浏览

Which C  11 Standard Library Container Should I Choose?

选择 C ​​11 标准库容器:综合指南

在 C 11 中选择合适的容器对于高效的数据管理至关重要。与众所周知的“C 容器选择”备忘单不同,C 11 版本尚未创建。

但是,创建此类图表可以通过遵循两个原则来简化:优先考虑语义和选择当存在多个选项时最简单的解决方案。仅在处理大型数据集时才应考虑性能因素。

关联与简单序列

容器分为两种主要类型:关联和简单序列。

关联容器

使用关联容器:

  • 通过单个键轻松搜索
  • 排序元素(有序关联容器)

简单序列容器

在以下情况下使用简单序列容器:

  • 元素顺序无关
  • 需要内存稳定性(固定内存位置)

逐步选择处理

对于关联容器

  • 已订购?

    • 是:使用 std::map 或 std::set (基于键值分离)
    • 否:使用 std::unordered_map 或 std::unordered_set
  • 重复?

    • 是:使用 std::multimap 或std::multiset
    • 否:使用 std::map 或 std::set

对于简单序列容器

  • 内存稳定?

    • 是:使用 std::list
  • 动态调整大小?

    • 编译时已知大小?:使用std::array
    • 大小未知?:继续
  • 双端?

    • 是:使用 std::deque
    • 否:使用std::vector

默认选择

在大多数情况下,除非存在关联或特定要求,否则 std::vector 是首选(Sutter 和 Stroustrup 推荐)。

以上是我应该选择哪个 C 11 标准库容器?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn