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


Dataloader包含dataloader.h和dataloader.cpp
Analysis包含analysis.h和analysis.cpp




在dataloader.h中,我包含了analysis.h,如下所示:

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




我的教授告诉我,这是很大的不!我们试图创建一个makefile,他感到惊讶。为什么这是一个坏习惯?以及如何使包含变得更简单。我正在使用code::blocks和gcc 4.8编译器。


  N.B.我注意到该代码:::阻止了一些宽恕如何包含错误。什么时候
  我们试图使用gcc命令对其进行编译,结果很糟糕

最佳答案

我同意你的教授。用于

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


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

关于:


  N.B.我注意到该代码:::阻止了一些宽恕如何包含错误。当我们尝试使用gcc命令对其进行编译时,它变得很糟糕


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

关于c++ - #include <../header.h>在C++中是一种不好的做法吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29288449/

10-12 06:06