Preprocessor directive: Why Identifier for header file with #define is not same as header file name
本问题已经有最佳答案,请猛点这里访问。
为什么在myheader.h中,我们写道:
1 2 3 4 | #ifndef MYHEADER_H #define MYHEADER_H ... #endif |
因为,标识符区分大小写(小写和大写字母是不同的),并且每个字符都是重要的。以上内容如何有效?应该是
1 2 3 4 | #ifndef myheader.h #define myheader.h ... #endif |
下划线的用途是什么?如果我有两个单独的头文件名为myheader.h和myheader.h,预处理器如何区分它们?
领先的下划线加上大写字母表示它是由C++实现定义的名称,因为这个表单是为实现保留的,或者是一个在系统标题中看到的人所定义的名字,而只是拷贝CAT而不理解它。