假设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。我是对的还是两种方法执行的都一样?