の二乗を計算するには、次の2.0
コードを実行します
double a = 2.0;
a *= a;
明確に定義された動作を持っていますか?そして、同等に、他のすべての複合代入演算と組み込み型についても同様です。
の二乗を計算するには、次の2.0
コードを実行します
double a = 2.0;
a *= a;
明確に定義された動作を持っていますか?そして、同等に、他のすべての複合代入演算と組み込み型についても同様です。
はい、そうです。
逆を信じる唯一の理由は、シーケンス ポイントの問題ですが、ここでは当てはまりません。
1) 前のシーケンス ポイントと次のシーケンス ポイントの間で、スカラー オブジェクトの格納値は、式の評価によって最大 1 回変更されます。
修正は一度だけでOKです。