-1

2つの値が同じになることを理解しています(3から4と言います)。しかし、コンピューターはこの 2 つを同じものとして認識し、どちらも式と見なされるのでしょうか?

前もって感謝します!

4

3 に答える 3

8

(value++)は古い値に(value = value + 1)評価され、 は新しい値に評価されることを除いて、両方にはい。式内
の に直接相当するものは です。(value = value + 1)(++value)

どちらもスレッドセーフではないことに注意してください。

さらにお楽しみいただくために、さらに 2 つの同等のオプションを次に示します。

value += 1;
value -= -1;
于 2014-01-15T17:44:19.053 に答える
2

それは正しくありません。むしろ、++value は value=value+1 と同じです。

++Value はプリインクリメントです。Value++ はポストインクリメントです。

「Post」は後を意味します。つまり、変数が読み取られた後にインクリメントが行われます。「前」は前を意味するため、変数値は最初にインクリメントされ、次に式で使用されます。

例えば:

int i, x;

i = 2;
x = ++i;
// now i = 3, x = 3

i = 2;
x = i++; 
// now i = 3, x = 2
于 2014-01-15T17:50:46.740 に答える
0

いいえ、私の友人の ++value は value=value+1 と同等です。これは、新しい値のプリインクリメント演算子を変更していて、value++ がメモリに保持されている古い値を変更しているためです。つまり、ポスト インクリメントです。

于 2014-01-15T17:48:37.587 に答える