2 つのスニペットがあります。
while (indent-- > 0)
{
out << " ";
}
while (indent > 0)
{
indent -= 1;
out << " ";
}
私が見る限り、最初のスニペットで未定義の動作は発生していません (こちらを参照)。
私の質問は: これら 2 つのスニペットは同等ですか?
-=
演算子は比較演算子よりも優先順位が高いため、最初のスニペットで最初に実行する必要があるため、よくわかりません。ただし、2 番目のスニペットは、比較後にのみこれを実行します。