批判と利点
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/06/27 16:15 UTC 版)
一部の人々は、typedefを広範に使用することに反対している。ほとんどの議論は、typedefは単に変数の実際のデータ型を隠すだけであるという考えに集中する。例えば、Linuxカーネルハッカーであり、ドキュメント作成を行っているグレッグ・クロー=ハートマン(Greg Kroah-Hartman)は、関数プロトタイプ宣言を除いて、typedefの使用をやめさせようとしている。彼は、typedefを使用することが、必要以上にコードを混乱させるだけでなく、プログラマが巨大な構造体を単純な型と誤認識して使用してしまうことがあると主張している。 しかし、typedefを推奨して、広範に使用することに大賛成する人々もいる。特に、C言語を発明したブライアン・カーニハン (Brian W. Kernighan) とデニス・リッチー (Dennis M. Ritchie) はプログラミング言語C(英:The C Programming Language)というC言語の定義書に、typedefの利用に対するメリットを2つ述べている。まず第一は、ソフトウェアをマルチプラットフォーム展開する際に、ソースコードの移植性(ポータビリティ)を向上させる手段として重要なことである。データ型の改良あるいは変更が必要になるときに、必要な変更はただ1つだけのtypedefの宣言箇所であり、typedefシノニムを利用してさえいれば多くの箇所を変更する必要がなくなる。第二に、データを隠すことに加えて、データのカプセル化も向上させるようになり、複雑な宣言がより理解しやすくなることである。 もともとC言語の規格では、基本型(intなどの組み込み型)のサイズや内部表現を厳密に規定しておらず、処理系依存となっている(ターゲット プラットフォームにとって都合の良いサイズや内部表現に設定してよいことになっている)ため、プラットフォーム間の違いを吸収して同じソースコードを使うためにはtypedefは必須の技術といえる。C99/C++11規格では、int32_tなどのサイズや内部表現を保証する整数型が
※この「批判と利点」の解説は、「typedef」の解説の一部です。
「批判と利点」を含む「typedef」の記事については、「typedef」の概要を参照ください。
- 批判と利点のページへのリンク