Arn*_*Boy 7 c++ include header-files
我是C++的新手,并在标题中提出了问题.或者更确切地说:如果Ah包括Bh和Bh包含Ah,我会得到一条错误消息,因为"include#file"C:... \啊"包括它自己".档案:Bh
我找不到解决这个问题的方法,而我的一般设置几乎要求这些类之间的关系.是否有可能使这项工作?
在头文件中使用Include警卫. http://en.wikipedia.org/wiki/Include_guard
#ifndef MYHEADER_H
#define MYHEADER_H
//add decls here
#endif
Run Code Online (Sandbox Code Playgroud)
这样,如果您的头文件被多次包含,编译器会忽略它们.
另外作为一个经验法则,如果你包括有Ah的Bh,最好在你的应用程序中包含Ah和Bh而不是依赖于Bh的包含
也只在头文件中放置声明.
在头文件中不惜一切代价避免使用定义.
简单:不要让Ah包含Bh,反之亦然.
通常,头文件应尽可能少地包含.您可以使用前向声明来绕过很多包含.绝对必须在标题中包含某些内容的唯一情况是,在该标题中是否存在用作非引用的对象.
所以避免这样做.使用Pimpl避免将类成员放入标题中.除非是模板代码或者您需要内联支持,否则不要在标题中编写实际代码.
最糟糕的情况是你需要创建一个定义Ah和Bh需要的Ch.
| 归档时间: |
|
| 查看次数: |
9902 次 |
| 最近记录: |