for (...)
for (...)
{
break;
break; // 1
}
(1) のコードは実行されますか? そこにあるかもしれませんしcontinue
、他の何かがあるかもしれません。デバッガーをチェックインするだけでよいことはわかっていますが、コンパイラーは特殊なケースである可能性があるため、C++ 標準がそれについて何を言っているか知りたいです。
その特定のループ内では、いいえ、ブレーク後のコードは実行されません。ブレークはそのループから抜け出し、内側の for ループの終了後から実行を継続するためです。ただし、ブレークの後に表示される内側ループの外側 (外側ループ内) のコードはすべて実行されます。
いいえ、最初の break ステートメントにヒットするたびに、内側のループが終了し、2 番目の break ステートメントに到達することはありません。
ここで見ることができます。
そして、次の休憩は決して超えないと確信しています。使用するコンパイラに関係なく。
いいえ。コード実行は、ブレークが発生した瞬間に内側の最初のループから飛び出します。
コードはこのままでも
break;
continue;
break;
同じことが起こります。Continue は、その間のコードをスキップしてループをさらに繰り返すようにコンパイラに指示する方法にすぎません。
コード at(1) は実行されずbreak
、ループから飛び出すことを意味するため、最初のブレークの後、コードは内側のループから飛び出します。