gpt4 book ai didi

c++ - 包含 .cpp 文件和 .h 文件(cpp 中的内容相同)的区别?

转载 作者:太空狗 更新时间:2023-10-29 20:02:14 25 4
gpt4 key购买 nike

我最近开始从基础学习 cpp 并且对以下内容非常困惑:

假设我有一个标题(test.h,它只包含声明),其中包含一些内容和一些源文件(source.cpp),程序产生了一些结果。

如果我将该头文件的相同内容复制到 .cpp 文件 (testcpp.cpp) 并将其包含在 source.cpp

在这种情况下,我不明白它有什么区别?

(我不会在 make 文件中包含此 testcpp.cpp)

我看过一些与此类似的线程,但无法弄清楚!!!

我学习了头文件和cpp文件的用法,并且到目前为止在项目中正确使用了它,请针对这种情况具体回答(我知道这样做会增加困惑,但只是想知道)。这样做会有什么不同吗?或者这只是每个人都遵循的普遍做法?

最佳答案

what difference it makes?

头文件的扩展名对任何东西都没有影响。您也可以将文件命名为 test.mpg.test 或只是 test(明显更改 include 指令),它会也一样有效。扩展是为了程序员的利益,而不是工具链。

但是,将其命名为 .h、.hpp 或您的约定之外的任何名称都不是一个好主意。如果你把它命名为.mpg,人们会认为它是一个视频,而没有意识到它是一个头文件,尝试在媒体播放器中播放它。如果将其命名为 .cpp,人们会认为它是一个源文件,并可能会尝试对其进行编译或向其中添加定义。

在预处理器中包含一个文件在技术上只是将一个文件的内容复制到另一个文件中。仅此而已。关于它们的其他一切都只是约定俗成。

In makefile, when specifying source file, Can I give my source files with any extension(.fsfs, .xxx) rather than .cpp extension

技术上是的,但是编译器通常使用源文件扩展名来检测他们在这种情况下将无法执行的语言,因此您必须明确指定它。

关于c++ - 包含 .cpp 文件和 .h 文件(cpp 中的内容相同)的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44393345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com