【发布时间】:2014-03-15 21:05:47
【问题描述】:
当两个键映射到std::ordered_map<T> 中的同一个桶时,首选的数据结构是什么。我不确定使用std::vector<T> (在达到容量但快速迭代时需要复制所有元素)或std::list<T> 是否会更好,这很容易添加新元素但迭代速度较慢?
std::vector
- 快速迭代元素
- 如果容量用完,因为需要将所有元素复制到新内存中,那就不好了
std::list
- 快速添加/删除节点
- 不适合作为不在连续内存中的元素进行迭代
【问题讨论】:
-
答案取决于使用模式。
-
你漏掉了
std::deque。
标签: c++ list vector unordered-map