为了使某些代码更易于阅读,我将其拆分为多个文件。其中一个文件只包含 2 个初始化方法。是否值得在其中包含这些方法的声明并包含该声明创建一个 .h ,或者我应该直接包含 .cpp ,仅针对 2 个方法,是否值得遵守标准?
问问题
349 次
3 回答
3
永远不要包含 cpp 文件,无论其中包含多少定义:其他几个 cpp 文件中包含的每个定义都会产生重复的符号,从而导致链接错误。
如果您构建一个在多个翻译单元中使用的类(这是 cpp 文件的一个花哨的名称),您应该为它构建一个标题。模板没有 cpp 文件 - 只需要一个标题。
尽管通常的做法是为每个类创建一个 cpp/header 对,但可以在一个翻译单元中包含多个相关的类,并将所有声明放在一个头中。
于 2013-07-15T20:28:19.163 回答
1
.cpp
您包含的文件是名称错误的.h
文件。
.cpp
并且.h
是对程序员有意义的扩展(以及工具链中偶尔出现的工具)。如果你开始#include
ing.cpp
文件,即使你说服你的工具链如何处理它,你也会让其他程序员(包括几个月/几年后的你自己)感到困惑。
有时可以接受创建仅包含一组工具或功能的头文件。调用该文件.cpp
不是。
于 2013-07-15T20:30:57.420 回答
1
如前所述,您不包含 .cpp 文件。如果项目周围需要您的代码,那么标题是必须的。但是,您也可以随时使用 extern。http://www.cplusplus.com/forum/general/21368/
于 2013-07-15T20:29:49.733 回答