switch 文の話の続き。
今日、C++ の本を見てみたら、どうも switch のラベルは 「switch( 式 )」 の直後に書いていいらしいということがわかった。
具体的には:
switch( peach() )
case 0:
if ( banana() )
case 1:
{
case 2:
pear();
}
// case 3: // これはエラー
else
case 4:
{
case 5:
melon();
case 6:
mandarin();
}の、case 0:。
case1: と case 4: は意外な位置にあるが、合法である。
case1: と case 2: は同じことだし、両方とも人に勧められる case ラベルの位置ではないが、 case 2: の方が幾分マシであるように思える。case 4: と case 5: も同様で、case 5: の方がマシに思える。
いずれにせよ、こういうことを、仕事で書くことはお勧めしない。