[ C++で開発 ] インクルードガード 少し込み入ったプログラムを開発していると、ヘッダファイルを2重にincludeしてしまい、コンパイルエラーとなることがあります。ここでは、その回避方法として使われる内部インクルードガードと、include処理時間を大幅に削減しコンパイル時間を短くする冗長インクルードガードの2つを取り上げます。 (追加)最近のGCCでは#pragma onceも無警告で使用できるようになっているようです。 インクルードガードの必要性 2重インクルードの発生 まず、2重インクルードが発生する例を見てみます。