我通常在头文件的开头看到这样的代码:
#ifndef HEADERFILE_H
#define HEADERFILE_H
并且在文件末尾是
#endif
这样做的目的是什么?
36
+1-我也有同样的疑问,在这里得到的答案更多,可能对将来的访问者有用:stackoverflow.com/q/3246803/1134940
—
Abid Rahman K
我要补充一点,您也可以只使用一次#pragma,这就是您要做的全部,并且它的作用与ifndef相同。有关两者的比较,请参阅:stackoverflow.com/questions/1143936/…–
—
尺寸
最好说一下a
—
Potatoswatter
#pragma
是什么:它激活特定于编译器的功能。虽然#pragma once
是很广泛的支持,这是非标准的。
需要考虑的一些事情:不要使用下划线开头的宏名称;此类标识符保留给实现。更巧妙地,
—
基思·汤普森
#ifndef HEADERFILE_H
可以违反实现的名称空间的标题名称恰好以E
; 开头。以E
,数字或大写字母开头的标识符保留给<errno.h>
。我建议#ifndef H_HEADERFILE
。