1

重複の可能性:
ループ内のi++と++iの違いは?

i++++iに違いはあり ますか?

4

4 に答える 4

3

i ++はポストインクリメントであり、++iはプレインクリメントです。前者では、式でiの値を使用し、最後にiをインクリメントできます。後者は最初にiをインクリメントし、次にそれを使用できるようにします。例えば:

int value_of_i_before_increment=i++;

int value_of_i_after_increment=++i;
于 2010-10-15T03:46:15.003 に答える
2

i ++は、ステートメントの後にiをインクリメントします。++ iは、ステートメントが評価される前にiをインクリメントします。

于 2010-10-15T03:46:37.793 に答える
2

はい。

i++はポストインクリメントです。iのコピーを返し、iの値をインクリメントします。

++iはプリインクリメントです。iをインクリメントし、iの値を返します。

于 2010-10-15T03:46:53.473 に答える
1

++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

潜在的なパフォーマンスへの影響もあります。詳細については、この投稿を参照してください。

于 2010-10-15T03:53:09.960 に答える