私はこれを持っています:
switch(i)
{
case a:
{
//code
}
case b:
{
//code
}
case c:
{
//code
}
}
の場合i == a、コードを挿入しbてc実行しますか、それともそれぞれにを挿入する必要がありbreak;ますか?
ありがとう、
私はこれを持っています:
switch(i)
{
case a:
{
//code
}
case b:
{
//code
}
case c:
{
//code
}
}
の場合i == a、コードを挿入しbてc実行しますか、それともそれぞれにを挿入する必要がありbreak;ますか?
ありがとう、
それぞれに入れなければなりません
break;か?
はい、1つのケースのみを実行する場合は可能です。あるいは、またはのように、他の制御フローステートメントによってaswitchが終了することもあります。returnthrow
たとえば、に置き換える//codeと、std::cout << "case [x]" << std::endl答えはすぐにわかります。
はい、正しく機能するには休憩が必要です。括弧はスコープを導入するだけで、フロー制御には影響しません。
そうすることは良い習慣ですが、最後のものではありません。
1つに入れないbreakと、現在のケースと継続するすべてのケースが、次のブレーク、スロー、またはリターンまで実行されます。
caseこれは、2つのセクションで同じコードを実行する場合に役立ちます。次のように記述できます。
case a:
case b:
// ... some code...
break;
これは、aとbの両方に対して実行されます。