改行のない switch ステートメントの「技術名」を知っている人はいますか?
私はいくつかの教科書に目を通し、かなり長い間オンラインで検索しましたが、結果はありませんでした。
改行のない switch ステートメントの「技術名」を知っている人はいますか?
私はいくつかの教科書に目を通し、かなり長い間オンラインで検索しましたが、結果はありませんでした。
ブレークのない switch ステートメント (およびループがないため、Duff のデバイスではありません) では、jump tableを呼び出すだけです。
確かに、構造化プログラミングに一般的に使用されるツールの 1 つではありません。
落ちる?
それとも、 Duff's Deviceと呼ばれる、区切りのない特定の switch ステートメントについて話しているのでしょうか。
send(to, from, count)
register short *to, *from;
register count;
{
register n=(count+7)/8;
switch(count%8){
case 0: do{ *to = *from++;
case 7: *to = *from++;
case 6: *to = *from++;
case 5: *to = *from++;
case 4: *to = *from++;
case 3: *to = *from++;
case 2: *to = *from++;
case 1: *to = *from++;
}while(--n>0);
}
}
実行が 1 つの Case 句から次の句に続く場合、それは「フォールスルー」と呼ばれます。
switch (i) {
case 1:
// do something
case 2:
// do something else
break;
case 3:
// do another thing
}
実行はケース 1 からケースへと "フォール スルー" しますが、ケース 2 からケース 3 へは "フォール スルー" しません。