C++ #include头文件随想

现象

在使用boost时,#include文件的方式如下[#include带路径方式]:

#include <boost/property_tree/json_parser.hpp>
#include <boost/property_tree/ptree.hpp>
#include <boost/timer/timer.hpp>
#include <boost/pool/object_pool.hpp>

假定boost文件夹位于XXX/include目录下,XXX/include已经加入到头文件的搜索路径(VS中附加包含目录、Linux中编译选项 -I)。

思考

之前看到这个现象,没有仔细思考为什么这样做。现在觉得加上路径觉得有点麻烦,难道不可以使用[#include不带路径方式]:

#include <json_parser.hpp>
#include <ptree.hpp>
#include <timer.hpp>
#include <object_pool.hpp>

这样其实也是可以的,不过需要另外将文件的所在路径都加入到头文件搜索路径

XXX/include/boost/property_tree/
XXX/include/boost/timer/
XXX/include/boost/pool/

总结

在boost中,使用#include不带路径方式引用头文件,如果其所在路径没有加入到头文件搜索路径,需要将其加入到头文件搜索路径,比较繁琐。还不如使用#include带路径方式这种方式来的简单,因为完全不需要考虑是否需要将其所在路径加入到头文件搜索路径,只需要将boost目录所在路径加入到头文件搜索路径中,之后就可以一劳永逸了。

Supongo que te gusta

Origin blog.csdn.net/xp178171640/article/details/118993680
Recomendado
Clasificación