高洛峰2017-07-05 10:52:36
あなたがこれを質問をするためにやっているのか、それとも作者がオープンソースプロジェクトのコードでこの書き方を使っているのを見たことがあるのか知りたいのですが、質問やテストを書くためであれば、そのようなことは考えないことをお勧めします。学校や会社では、この質問には意味がないため、swift3 では ++ 演算子さえ削除されます。複雑な構文機能やエラーが発生しやすい構文機能に時間を浪費する価値はありません。
大家讲道理2017-07-05 10:52:36
2つのポイント:
a = a++ が最初に割り当てられ、その後インクリメントされます
代入式には戻り値があり、それは式の値と呼ばれます
これは、式「z=z++」の値を z に代入することと同じであり、「z=z++」の値は「z++」と等しくなります。「z++」は、最初に z の現在の値を使用し、次にそれを増分します。
给我你的怀抱2017-07-05 10:52:36
ポストインクリメント:
n++ のような式は、n の元の値のコピーを返し、その後、n++ の元の値を返します
n = n++ ポストインクリメント演算子は、代入
よりも高い優先順位を持ちます。 = は、まず n をインクリメントし、n の元の値のコピーを返します
次に、代入演算を実行して、n の元の値を n に代入します。これにより、n の値は変更されません
阿神2017-07-05 10:52:36
z++
是个表达式,表达式的结果还是z
,所以 z=z++
相当于z=z
啥也没做,
你要了解下 z++
のロジックは、最初に変数の値を返し、次にそれをインクリメントすることです。
または、++z
を使用することもできます。事前インクリメントでは、最初に自分自身をインクリメントし、自動インクリメントの後に結果を返します