读书人

头文件的包含顺序-最特殊到最一般?解

发布时间: 2012-02-06 15:52:44 作者: rapoo

头文件的包含顺序---最特殊到最一般?
C++编程思想的一段话

头文件被包含的顺序是从“最特殊到最一般”。这就是,在本地目录的任何头文件首先被包含。然后是我们自己的所有“工具”头文件,随后是第三方库头文件,接着是标准C++库头文件和C库头文件。
要了解其原因:可以看xxxx中的一段话:
//天书来了
保证.h文件的组成部分不被它自身解析(parse),这可以避免潜在的使用错误。因为被自身解析缺乏明确提供的声明或定义。在.c文件的第一行包含.h文件能确保所有对于构件的物理界面重要的内部信息块都在.h中(如果的确是缺少了某些信息块,一旦编译这个.c文件时就可以发现这个问题)。
//天书走了

谁能解释一下这个包含头文件的顺序--“从特殊到一般“是为什么阿
最好能举个例子,谢谢

[解决办法]
和你的编译顺序相关嘛,先include的当然会先被parse了。
库一般,我们认为它是不会有问题的,当然放到后面编译了。

此外,能不include的,尽量不要inlcude的,能不在.h里面include的,就尽量放在.c里面include。
都会提高你的编译速度。

[解决办法]

既然认为库是不会出问题的,那么放在前面和放在后面的区别呢?
能举个例子么?
------
不会出问题的放到前面先编译岂不是浪费时间,当然让最容易出错的放到前面,这样一旦出错编译就停止了
[解决办法]
头文件是存在依赖关系的。如果你写的头文件依赖某个别的头文件(尤其是标准库头文件),那么上述包含顺序可以轻易的检查出错误。
[解决办法]
习惯 。。。

或者说是一种“规范”

读书人网 >C++

热点推荐