Questions tagged «include»

7
我如何防止标题地狱?
我们正在从头开始一个新项目。大约有八位开发人员,一打左右的子系统,每个子系统都有四个或五个源文件。 我们怎样才能防止“标题地狱”(又名“意大利面条头”)? 每个源文件一个标头? 每个子系统加一个? 从函数原型中分离出typdef,结构和枚举? 将子系统内部与子系统外部分开? 坚持每个文件,无论标头还是源文件都必须是可独立编译的? 我并不是在寻求“最佳”方法,只是要指出要注意什么以及可能引起悲伤的指针,以便我们可以尝试避免这种情况。 这将是一个C ++项目,但是C信息将对将来的读者有所帮助。
44 c++  headers  include 

8
依靠标头包含传递性是一种好习惯吗?
我正在清理正在处理的C ++项目中的包含,并且我一直在想是否应该将直接使用的所有标头明确包含在特定文件中,还是应该仅包含最低要求。 这是一个例子Entity.hpp: #include "RenderObject.hpp" #include "Texture.hpp" struct Entity { Texture texture; RenderObject render(); } (让我们假设对它的前向声明RenderObject不是一种选择。) 现在,我知道其中RenderObject.hpp包括Texture.hpp-我知道,因为每个人RenderObject都有一个Texture成员。不过,我还是明确地将Texture.hppin 包含在内Entity.hpp,因为我不确定依赖于in是一个好主意RenderObject.hpp。 因此:这是一种好的做法吗?
37 c++  c  headers  include 

7
当仅包含.cpp文件时,一切正常时,为什么需要包含.h?
为什么我们需要同时包含.h和.cpp文件,而仅通过包含.cpp文件就可以使其起作用? 例如:创建一个file.h包含声明,然后创建一个file.cpp包含定义,并将两者都包含在中main.cpp。 或者:在中创建一个file.cpp包含声明/定义的声明(没有原型)main.cpp。 两者都为我工作。我看不出有什么区别。也许对编译和链接过程有一些了解可能会有所帮助。
18 c++  c  headers  linking  include 

7
确保标头明确包含在CPP文件中
我认为,#include对于CPP文件中使用的任何类型的标头,通常都是一种好习惯,无论该HPP文件中已经包含了什么。因此#include <string>,例如,即使在CPP中跳过它,我仍然可以编译,但我可能同时在HPP和CPP中使用。这样,我不必担心我的HPP是否使用前向声明。 是否有任何工具可以强制执行此#include编码样式?我应该执行这种编码样式吗? 由于预处理器/编译器不在乎#include是来自HPP还是CPP,因此如果我忘记遵循这种样式,则不会得到任何反馈。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.