LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 769|回复: 2

关于c语言中预处理器的一个问题

[复制链接]
发表于 2005-5-17 15:14:51 | 显示全部楼层 |阅读模式
在看c++语言书的时候发现以下一段代码
//: C05:Handle.h  (文件名为Handle.h)
// Handle classes
#ifndef HANDLE_H_      //这样可以么,不是大多书上是这样#ifndef Handle.h的么??
#define HANDLE_H_
class Handle {
struct cheshire; // Class declaration only
cheshire* smile;
public:
void initialize();
void cleanup();
int read();
void change(int);
};
#endif   // HANDLE_H_ ///:~

弱弱的问,如果以上(预处理部分)可以的话有什么特殊的含义和使用环境吗?请赐教!
发表于 2005-5-17 17:04:54 | 显示全部楼层
避免重复保护该头文件
以上的用法是正确的

p.s.我怎么没看到哪本书上有#ifndef Handle.h的用法?
回复 支持 反对

使用道具 举报

发表于 2005-5-17 22:23:05 | 显示全部楼层
那里有#ifndef Handle.h的用法,在宏中点号好象有什么特殊意义(我记不清了),所以定义宏时所有的点号都要用其它符号代替,习惯上一般用下划线。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表