头文件包含的问题

Mynameiswuyihao 2010-06-12 10:23:05
别人说尽量不要在头文件里包含头文件。

我这里用VS模板自动生成了一个Win32窗口程序,他的图形接口的声明和实现在一个头文件里,我要为控件的消息添加一些处理,自动在这个头文件里增加了一个函数。

这里的问题是:我要在多个文件内共享一些数据,于是我在这些文件里包含一个专属的提供变量声明的头文件。但是这是一个头文件,在他里面再包含头文件会引发问题吧。

请问有没有更好的办法处理这个问题呢?
...全文
53 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangweiit 2010-06-12
  • 打赏
  • 举报
回复
我们一直这样做
用得好好的

不过,要注意一个问题
包含的顺序

还有,要分好类别
以避免不必要的麻烦
zhangweiit 2010-06-12
  • 打赏
  • 举报
回复
你觉得有什么不妥当,我们再讨论
Mynameiswuyihao 2010-06-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yunyun1886358 的回复:]

头文件一般这样写可以避免重复包含问题:
C/C++ code

#ifndef __楼主_H_
#define __楼主_H_

#include "其他头文件"
// 楼主的定义

#endif // __楼主_H_
[/Quote]

是吗?我是这样做的,但总觉得不妥当
yunyun1886358 2010-06-12
  • 打赏
  • 举报
回复
头文件一般这样写可以避免重复包含问题:

#ifndef __楼主_H_
#define __楼主_H_

#include "其他头文件"
// 楼主的定义

#endif // __楼主_H_
Mynameiswuyihao 2010-06-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zhangweiit 的回复:]

多个文件内共享一些数据
如果是静态变量,当然是放在头文件里面了

头文件开始做做文件包含的冲突保护就好了

#ifndef _THE_FILE_
#define _THE_FILE_

//文件内容

#endif
[/Quote]
只做这样的保护就好了吗?不需要别的方法吗?
zhangweiit 2010-06-12
  • 打赏
  • 举报
回复
多个文件内共享一些数据
如果是静态变量,当然是放在头文件里面了

头文件开始做做文件包含的冲突保护就好了

#ifndef _THE_FILE_
#define _THE_FILE_

//文件内容

#endif

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧