この前、for_eachはforより抽象化レベルが高くて、関数分離しやすいというメリットがあるので、C++11使うなら、なるべくforではなく、for_eachを使った方がいいよという話があって、”速度はどうなるの?”と聞かれて、内部ではiteratorを使っているから、同じになるじゃないかと思うが、自信がないです。そのため、速度を測りました。
ソースコードは以下のようになります
テストOSははmacOS Sierra、メモリは8GB、CPUは2.4 GHz Intel Core i7です。最適化についてO2を付けました。
複数回で実行して、平均をとると、
結論として、for_eachを安心に使ってください。