【问题标题】:Traversing a vector vs array which one is faster?遍历向量与数组哪个更快?
【发布时间】:2020-05-31 06:16:46
【问题描述】:

在遍历向量和数组时,哪一个在竞争编程中更快且更有帮助?

【问题讨论】:

  • 遍历在这里是一个非常宽泛的术语,它并没有说明您在该步骤中做了什么。对于std::array,大小在编译时是已知的,对于std::vector,它不是,所以对于std::array,编译器理论上可以基于该大小信息对std::array 进行优化。通常,您会选择最适合用例的容器。

标签: c++ arrays vector


【解决方案1】:

没关系。但是数组的创建速度更快,因为它具有固定的大小

【讨论】:

  • 您无法根据如此广泛的描述对性能差异做出任何假设。数据被连续存储只是一个因素。但可能的优化不仅仅取决于此。
【解决方案2】:

它们的速度相同,因为在这两种情况下,底层数据都是一个连续的内存块,只需简单的指针算法就可以移动到任意元素。

【讨论】:

  • 您无法根据如此广泛的描述对性能差异做出任何假设。数据被连续存储只是一个因素。但可能的优化不仅仅取决于此。
猜你喜欢
  • 2010-12-23
  • 1970-01-01
  • 2011-06-27
  • 1970-01-01
  • 2012-11-29
  • 2014-02-25
  • 2019-07-10
  • 1970-01-01
  • 2012-09-03
相关资源
最近更新 更多