特定の意味をもつリターンコード等の固定値は ある程度1つのヘッダに集中して定義すると思います。 例えば、C言語ではマクロ変数を使用して以下のように定義します。 人によってはC++でも以下のように定義するかもしれません。 #define RETCODE_SUCCESS (0) #define RETCODE_FAIL (1) #define RETCODE_WARN (2) マクロ変数は、コンパイラではなくプリプロセッサで置き換えられるので コンパイラはRETCODE_SUCCESSやRETCODE_FAILなどのシンボルを 認識することができません。 これはプログラム上の各所にマジックナンバーが散りばめられる ことになり、デバッグ時などには都合がよろしくないということで、 C++では以下のように定義することを推奨しています。 このへんはEffective C++の2項あたりにも書いてたと思