c-lang:インクルードガード
二重にインクルードされてしまうことを防ぐために、例えば「example.h」ファイルの場合は、以下のように記述する。
code:cpp
#ifndef
EXAMPLE_H /* 必ず最初に書く*/
/*
* マクロ「EXAMPLE_H」が定義されていないなら、本体を読み込む。
* マクロ「EXAMPLE_H」がすでに定義されているのなら、本体は読み込まない。
*/
#define
EXAMPLE_H /* 「EXAMPLE_H」を定義 */
example.hファイル本体
#endif
/* EXAMPLE_H 必ず最後に書く*/
PRE06-C. ヘッダファイルはインクルードガードで囲む
More C++ Idioms/インクルードガードマクロ(Include Guard Macro) - Wikibooks