ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
C/C++のswitch文で、あるcaseブロックから次のcaseブロックにそのまま流れていくこと。および、そのような言語仕様。
if〜elseの羅列と異なり、switch文はcaseラベルを用いて分岐するというものである。
caseが使用するものが、あくまでもラベルであることから、一つのcaseブロックの処理が終了してもswitch文から抜けることなく、そのまま次のcaseブロックへと流れてしまう。switch文を終了するためには、意図的にbreak文を使用しなければならない。
結果として、break文を書き忘れたことにより意図せぬcaseブロックへと処理が流れ、発見しづらいバグを生じさせるという問題を生み出すことになった。
そしてこの欠陥は、Cの上位互換であるC++はもちろん、派生言語であるObjective-CやJava、C#などにも引き継がれた。
一方、Swiftでは、fallthroughと明示しないとfall throughしないという逆の仕様となっている。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます