小编Iul*_*iuc的帖子

C ++中基于范围的for的性能

假设x是a vector<vector<int>>,我想计算的每个元素的大小之和x。这是一个愚蠢的示例,但是我想问一下,当的元素的大小x足够大时,上述方法是否等效于性能。

// The first method:
int sum = 0;
for (vector<int> it : x)
    sum += it.size();

// The second method:
int sum = 0;
for (vector<int>& it : x)
    sum += it.size();
Run Code Online (Sandbox Code Playgroud)

我认为第二个for更快,因为它使用了&,因此x不会将的每个元素的值复制到it。我是对的还是两种方法执行的都一样?

c++ for-loop

1
推荐指数
2
解决办法
98
查看次数

标签 统计

c++ ×1

for-loop ×1