重複の可能性:
ループ内のi++と++iの違いは?
i++と++iに違いはあり ますか?
i ++はポストインクリメントであり、++iはプレインクリメントです。前者では、式でiの値を使用し、最後にiをインクリメントできます。後者は最初にiをインクリメントし、次にそれを使用できるようにします。例えば:
int value_of_i_before_increment=i++;
と
int value_of_i_after_increment=++i;
i ++は、ステートメントの後にiをインクリメントします。++ iは、ステートメントが評価される前にiをインクリメントします。
はい。
i++はポストインクリメントです。iのコピーを返し、iの値をインクリメントします。
++iはプリインクリメントです。iをインクリメントし、iの値を返します。
++c
はプリインクリメントであるため、使用する前に値をインクリメントし、c++
ポストインクリメントであるため、値を使用してからインクリメントします。
int c;
c = 5;
cout << c++; // prints 5, then sets the value to 6
c = 5;
cout << ++c // sets the value to 6, then prints 6
したがって、これはループなどに影響を与える可能性があります。
int i;
for (i=0; i < 2; i++) cout << i; // prints 0, then 1
for (i=0; i < 2; ++i) cout << i; // prints 1, then 2
潜在的なパフォーマンスへの影響もあります。詳細については、この投稿を参照してください。