是 #include <../header.h>C++的不良做法?



我的c++项目由两个目录组成,当然还有main.cpp:

  1. Dataloader包含数据加载器.h和数据加载程序.cpp
  2. 包含analysis.hanalysis.cppAnalysis

数据加载器.h中,我包括分析。h如下:

#include<../Analysis/analysis.h>

我的教授告诉我,这是一个很大的不!!!!!。我们试图创建生成文件,他很惊讶。为什么这是一种糟糕的做法?以及如何简化include。我正在开发code::blocks和gcc 4.8编译器。

注意:我注意到代码::阻止了一些可原谅的错误。什么时候我们试着用gcc命令编译它,结果坏了


我同意你的教授的观点。的使用
#include<../Analysis/analysis.h>

使代码变得脆弱。如果使用不同的目录结构重新组织代码库,则包含此类#include语句的文件将无法编译。

关于:

注意:我注意到代码::阻止了一些可原谅的错误。当我们试图使用gcc命令编译它时,出了问题

-I.添加到编译器标志中以解决该问题。

我一直被教导,你应该把你的include放在依赖它们的文件中,这是有道理的。

因此,在您的情况下,我假设您使用dataloader来导入数据,然后使用analysis来分析数据。在这种情况下,将这两者都包含在主体中更有意义。

相比之下,我制作了一个包含print_board()函数的n乘n井字游戏。此函数依赖于一个带有常量的头文件colors.h来正确打印电路板。因此,在这种情况下,我的print_board.h文件包含colors.h文件更有意义,因为它直接依赖于它,而其他文件都不是。

相关内容

  • 没有找到相关文章

最新更新