【发布时间】:2015-08-03 10:00:22
【问题描述】:
在文件file.h中,可以看到以下代码。
#ifndef FILE_H
#define FILE_H
...
...
#endif
问题:谁生成了 FILE_H(FILE_H 是否称为标识符?)这个命名约定叫什么?我应该阅读什么以了解更多信息?
目前,我知道这被称为包含保护,以及与预处理器有关的东西。但我似乎无法进一步谷歌。任何链接将不胜感激。
【问题讨论】:
-
...问题是什么? 程序员生成了
FILE_H。我认为没有明显的命名约定的名称。也许我们可以创造一个? Naming-Your-Include-Guards-After-The-File-Name 约定对您有用吗? -
我的意思是,我们写的是
#ifndef FILE_H,而不是,比如说#ifndef "file.h"。那么谁决定我们应该这样做呢?这是在哪里记录的? -
它只是一个标准的 C 宏。您不能使用带引号的字符串,预处理器适用于符号常量。任何介绍性的 C 或 C++ 书籍都应该在前几章中解释这一点。宏是文档化的部分。使用预处理器宏来实现包含防护是一种约定或习惯用法。它恰好是一个无处不在的。
-
好的,谢谢,正是我正在寻找的。span>
标签: include preprocessor