基于范围的循环C++ 11来自优化方面

DIS*_*BED -5 c++ performance for-loop cycle c++11

例如,我想打印矢量的内容.什么会更快地执行,"传统的"循环(1),或C++ 11一(2)?或者根本没有速度差异?任何信息表示赞赏.

1)

for (int i=0;i<FooBar_vector.size();i++)
    {
           cout<<FooBar_vector[i]<<endl;
    }
Run Code Online (Sandbox Code Playgroud)

2)

for (auto &val : FooBar_vector) 
    {
           cout<< val <<endl;
    }
Run Code Online (Sandbox Code Playgroud)

Mat*_*oss 5

一个简单的答案:使用分析器.

一个更好的答案:你为什么担心性能?使用#2,它更清晰,更不容易出错/拼写错误.

答案:流式传输到cout的开销可能远远超过任何循环开销.但看到简单的答案.