我注意到.h文件的名称大写,并使用下划线作为标题保护......为什么会这样?
例如参加“doThat.h”
头部防守将是:#ifndef DO_THAT_H
#define DO_THAT_H
为什么会像这样大写并强调?即使在main.cpp中你只输入#include "doThat.h"
来使用该文件?这有一些真正的编程原因吗?为什么不输入:
#ifndef doThat.h
#define doThat.h
答案 0 :(得分:5)
预处理程序定义必须使用有效标识符。点在标识符中无效。
还有一种约定,即预处理程序定义(尤其是预处理程序宏)使用全大写名称,以区别于非预处理程序标识符。 (但这不是一个严格的规则;例如,errno
通常是一个宏,但它不是大写的。)
答案 1 :(得分:2)
这只是一个命名惯例,而不是一个硬性规则。例如,通常会看到DOTHAT_H
或DOTHATH
或DoThatH
,这种情况并不少见。重要的是#define
使用不与其他文件冲突的唯一标识符。 通常使用调用文件名的某些变体。