7. 2 C++ 記述スタイル
7. 2 C++ 記述スタイル
- Rule 1
ヘッダに重複 include を避けるためのマクロを必ず記述 すること。(reuse、compile)
具体的には、例えば dff.h というファイル名のへッダを用意 するときには、次のように書きます。
#ifndef _DFF_H #define _DFF_H ここに内容を記述 ... #endif /* end of _DFF_H */
これで
#include "dff.h"
のような行を複数読むことになっても、上記内容は一回だけ 読まれるので、重複定義を避けることが出来ます。 このマクロのことを 英語では sentinel とか guard と言います。
ファイル名から、マクロ名への対応、上記例では dff.h → _DFF_H はプロジェクトで決めておきます。一例としては次のようになります。
- 大文字にする
- ピリオド(.)は下線(_)にする
- 頭に決まった文字を付ける。上記例では下線一つ。
このマクロが定義されていない場合のエラーメッセージの例を挙げておきます:
error C2011: 'FSM_Cntrl_states' : 'struct' type redefinition
- Rule2
継承はpublic で行います (reuse)
- 条件式で=演算子を使用するのは間違い(C++, style)
