2003-10-28から1日間の記事一覧
……は、ありません(爆)。標準C++を使う間は、我々はインクルードガードを使い続けるしかないのです。あきらめろ! あきらめるんだ! 俺(爆)!
……などと言ったらCPPコミュニティに袋叩きにあいそうなので絶対に言いません(爆)。しかしですな、現実的に実現出来ない物を#ifdef分岐で個別対応してまで「どのプラットフォームでもコンパイル可能」と言うのはどうかと思うのですよ。 それよりは、それぞ…
Visual C++では"#pragma once"というプリプロセッサ命令をヘッダファイルに入れる事によって、インクルードガードを実現します。これは素晴らしいギミックです。欲を言えば、「ヘッダファイルはすべて#pragma onge扱いにする」というオプションを用意して欲…
C#ではそもそもヘッダファイルという概念がありません(C++でのクラスがすべてインラインで記述されていると考えて下さい。こっちの方がずっと自然です)。当然インクルード文もありません。プロジェクトに含まれるソースファイルは一度すべて一本のファイル…
そもそも、何故C++ではヘッダファイル(.h)と実装ファイル(.cpp)が分離されているのでしょうか? 入門書の中には「実装を隠蔽してインターフェイスを公開する為」とか書いているかもしれません。これは「嘘」です。少なくとも、後付けの理屈であることは間違…
ヘッダファイルがどのように使われるかはわかりました。では「何故」ヘッダファイルが必要なのかという事を検討しましょう。まず、このような小細工が必要な言語は、現代プログラミング言語ではC++しか無いという事を強調しておきます。これはくるしまぎれの…