gpt4 book ai didi

c++ - 包含头文件和 C++ 文件有什么区别?

转载 作者:行者123 更新时间:2023-11-28 00:05:47 25 4
gpt4 key购买 nike

包含头文件(.h 文件)和 C++ 文件(.cpp 文件)有什么区别?当我创建一个类时,我创建了一个 .h 文件和 .cpp 文件。如果我想使用此类的对象,是否应该包含这两个文件?在哪些情况下我应该包含 .cpp 文件?

最佳答案

什么文件被调用,它们的内容是什么,完全是约定俗成的。如果你想迷惑别人,你可以调用你的头文件 something.b 和你的源文件 something.r - 这当然对大多数人来说没有任何用处,并且有些人可能认为您的文件包含语言 R 而不是 C++ 源代码。并且您的编辑器可能不会理解它是名为 .b 的文件中的 C 或 C++ - 以及构建工具,例如 MakesconsCMake 等可能无法理解如何在没有被“告知”的情况下编译您的文件。 [编译器还会查看文件扩展名以确定它是否应该编译为 C++ 或 C,这当然不适用于“非常规名称”]

重要的不是文件的名称,而是它们实际包含的内容。头文件(大多数人称之为 something.h)文件应该是这样的,它可以包含在项目中的任何地方和任意次数 [确实存在异常(exception),头文件并不是真正的目的在整个项目中包含多次 - 例如 version.h 声明了一个描述当前版本号的字符串]。

源文件(通常称为something.cpp,通常应该直接传递给编译器进行编译,而不是用作#include "something.cpp"。但是,决定这一点的是 CONTENT,而不是文件名。如果您以这种方式使用它们,那只是命名错误的文件。

总结:编译器只是读取传入的源文件,然后将#include“插入”到它编译的代码流中,就好像它被粘贴到原始源文件中一样。编译器并不关心你的文件名是什么,它们来自哪里,或者它们的内容是什么,只要编译器对整个编译“没问题”。

关于c++ - 包含头文件和 C++ 文件有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35755069/

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