2003-10-24から1日間の記事一覧

……さて

長々と語って来ましたがこのインクルードガードなるTipsは恐ろしくダサイ代物です。時代遅れもはなはだしいです。以下、延々と愚痴らせていただきます(笑)

インクルードガードの必要性

なぜ重複インクルードされると困るのかといいますと、コンパイルエラーになるからです(笑)。理由を以下に説明します #includeが行う処理は(わかりやすく言えば)テキストファイル(この場合は.cpp)の中に別のテキストファイル(この場合はhoge.h)を単純…

一応理屈の説明を

"#"で始まる命令はプリプロセッサ命令と言って、コンパイルの前のタイミングにプリプロセッサによって処理される物です(プリプロセス処理と言います)。どこかの.cppファイルの内部で[#include"hoge.h"]と書かれていれば、プリプロセッサはhoge.hを頭から読…

インクルードガードとはなにか

簡単に言うと、ヘッダファイルにお約束のように書く3行の事ですhoge.h内 #ifndef HOGE_H //HOGE_H //hoge.h内本文】 #endif //インクルードガードの目的はヘッダファイルの2重読み込みを防ぐ為です。

時代遅れの技術に頼るのはもうやめよう(やめたい)

C++を使う上で必須の知識であるにも関わらず、入門書の類には全くと言っていいほど紹介されないTipsに「インクルードガード」があります。これ、正式な呼称では無いので一般には通じないかもしれません*1。呼び名が無い事自体おかしいんだけどな……。 このイ…