2016-04-10 9 views

答えて

0

あなたが質問を提示する方法で使用されても、違いはありません。いずれの場合も、単純に変数を1つ増やしています。実際、まともなオプティマイザは、これら2つのコードのバイナリコードを正確に生成する可能性があります。ただし、1より大きい値(例えば2または可変量)をインクリメントしたい場合は、s ++を繰り返し呼び出すのではなく、s + = 2(またはs + = increment_amount)を直接実行してより良いパフォーマンスを得られます。 + =インクリメントをシミュレートします。

big-O表記では、増加量が定数であれば、「+ =」を繰り返し使用することで一定のスピードアップが得られますが、技術的には大きな違いはありません"++"操作。インクリメントが一定でない場合、すなわちインクリメント量が入力の長さの関数である場合、big-Oの複雑さも変化する。

0

"s ++"は "s = s ++"と同じであるため、 "s ++"は最も複雑ではありません。 "++"の目的は、変数を1つインクリメントする非常に一般的な操作を単純化することです。おそらくあなたは "++"の優雅さの問題に苦労していたかもしれません。

関連する問題