この質問は主にC/C ++を対象としていますが、他の言語も関連していると思います。
if /elseifの代わりにswitch/caseがまだ使用されている理由がわかりません。私にはgotoを使用するのとよく似ており、同じ種類の厄介なコードになりますが、if / else ifを使用すると、はるかに整理された方法で同じ結果を得ることができます。
それでも、私はこれらのブロックをかなり頻繁に見かけます。それらを見つける一般的な場所はメッセージループ(WndProc ...)の近くですが、これらは最も重い大混乱を引き起こす場所の1つです。変数は、適切でない場合でもブロック全体で共有されます(その中で初期化されます)。休憩を落とさないように特に注意する必要があります...
個人的には使わないのですが、何か足りないのかな?
それらはif/elseよりも効率的ですか?彼らは伝統によって引き継がれていますか?