可能性の重複:
Is there a performance difference between i++ and ++i in C++?演算子x ++; ++ x; int.Which高速ですか?なぜ?
彼らは++i
が高速であることを言うが、誰も私にこれらの演算子のアセンブラコードを表示why.Can私は理解していませんか?
可能性の重複:
Is there a performance difference between i++ and ++i in C++?演算子x ++; ++ x; int.Which高速ですか?なぜ?
彼らは++i
が高速であることを言うが、誰も私にこれらの演算子のアセンブラコードを表示why.Can私は理解していませんか?
++i
は、確かにi++
と同じくらい速いですが、はと速いです。
理由は実装です。
i++
を実装するには、++i
の実装とは異なり、実装でi
の一時コピーを生成する必要があります。
しかし、スマートコンパイラはこの一時的な生成を最適化することができますが、スマートコンパイラはPODタイプのためのものです。
この式のより高速なコードを生成する場合は、コンパイラと状況によって異なります。
ここをクリックしてください:http://stackoverflow.com/questions/3346450/c-what-is-the-difference-between-i--i/3346729#3346729 – Azodious
@Azodious:C#!= C++ – Piskvor
前に何度も尋ねられている、参照されたalreadに加えてhttp://stackoverflow.com/questions/2020184/preincrement-faster-than-postincrement-in-c-true-if-yes-why-is-itとhttp ://stackoverflow.com/questions/5223950/stl-iterators-prefix-increment-faster – hlovdal