誰かが次のような C++ コードを書いているのを見たことがあります。
if (something is true)
for (int i = 0; i < max; i++) {
//do something
line 1;
line 2;
line 3;
....
....
}
else
....
次のコードと同じように機能します。
if (something is true) { //note the bracket here
for (int i = 0; i < max; i++) {
//do something
line 1;
line 2;
line 3;
....
....
}
}
else
....
for
コンパイラがループ ブロックをif
句内にネストされた 1 行として処理したかどうか疑問に思っています。括弧内の複数行のコードを常に 1 行として扱うことはできますか? コンパイラがこれをどのように解析および分析するのか、私にはよくわかりません。