なぜ機能するのか
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2016/04/02 13:39 UTC 版)
「Duff's device」の記事における「なぜ機能するのか」の解説
このアルゴリズム自体はアセンブリ言語でコピーの際に比較と分岐を最小限にする手法として以前から使われていたが、Duff's Device はこれを C言語で実現した。このコーディングは次に挙げる2つのCの性質から、完全に有効で正当なCのコーディングである。 C言語におけるswitch文の定義が緩やかである点。Duff's device が考案された当時のC言語の仕様は『プログラミング言語C』に書かれていたもので、caseラベルの後には文法的に正しければどんな文も置くことができる仕様になっていた。そして、break文がないということはフォールスルーを望んでいることを意味する。 C言語では、ループの途中にジャンプして入ることが可能である。 なお、最適化前のコード例のコメントにある通り、このコードでは count が正であることを前提としている。
※この「なぜ機能するのか」の解説は、「Duff's device」の解説の一部です。
「なぜ機能するのか」を含む「Duff's device」の記事については、「Duff's device」の概要を参照ください。
Weblioに収録されているすべての辞書からなぜ機能するのかを検索する場合は、下記のリンクをクリックしてください。

- なぜ機能するのかのページへのリンク