选择最佳的 C 11 标准库容器
经典的“C 容器选择”备忘单提供了针对特定使用场景选择适当容器的指导。但是,它缺少 C 11 的更新版本。
作为补偿,这里有一个文本工作流程来帮助选择容器:
1。语义优先
关联容器:
- 如果需要按单个键搜索,请使用关联容器。
- 选择有序容器以保持排序元素。
- 对于单独的键值对,请使用 地图;对于仅键,请考虑设置。
- 启用具有“多个”前缀的重复项。
简单序列容器:
2。内存稳定性
- 如果在容器修改期间元素必须保留在内存中,请使用列表。
- 默认为列表;仅使用 Forward_List 来减少内存占用。
3.动态调整大小
- 如果大小在编译时已知并保持不变,并且元素默认可构造或使用大括号初始化,则使用数组。
4.双端
- 如果需要从两端添加或删除项目,请选择 Deque。
- 否则选择 Vector。
示例
场景:根据唯一性检索人员数据ID。
- 我们需要查找功能(关联容器)。
- 顺序无关(无序)。
- 键(ID)与值(映射)分开.
- 没有重复项(没有"multi").
结果: std::unordered_map.
注意:如果没有特定约束apply, 建议使用 Vector 作为简单序列容器的默认选择。
以上是我应该使用哪个 C 11 标准库容器?的详细内容。更多信息请关注PHP中文网其他相关文章!