K.Maebashi's BBS 削除ページ

以下の投稿を削除します。

[1820] Re:標準ライブラリのヘッダファイルのインクルードガード
返信
投稿者:774RR
2012/04/02 15:01:47

あとついでに ・先のスレッドで紹介したとおり、関数宣言は(矛盾しない限り)繰り返してよいこと ・同一内容の #define を繰り返すことは認められていること ISO/IEC 14882:1998 16.3 - 3,4 JIS X 3010:2003 6.10.3 ・C++ では typedef の同一内容の繰り返しは認められている (同 7.1.3-2) こと ・C では typedef の同一内容の繰り返しについて記述が無いこと  (未規定なので、処理系は許しても良いしエラーにしても良い) から、現代的「ヘッダで宣言を100%先行させる」プログラミングにおいて 正しく作られたヘッダはガードしなくても良い可能性があります。 typedef の同一内容の繰り返しに関して調査した範囲では ・ Visual C++ 2005 の C コンパイラは無警告で認めています。 ・ GCC 4 の C コンパイラは認めていません。 ・某社の組み込み系コンパイラは認めていません。 (enum/struct 等の繰り返し宣言の認め方については言語仕様書・処理系の挙動とも調べていません) コンパイル時間の短縮のためには「ヘッダの同一内容を複数回 parse しない」よう ガードに類する機構があったほうが望ましいですけどね。
パスワード:

管理者削除