Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >.cpp文件和.h文件有什么区别?

.cpp文件和.h文件有什么区别?
EN

Stack Overflow用户
提问于 2009-05-17 12:54:48
回答 7查看 149.2K关注 0票数 78

因为我制作了.cpp文件,然后将它们转换成.h文件,所以我能找到的唯一区别是你不能包含.cpp文件。我错过了什么区别吗?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-05-17 12:57:28

C++构建系统(编译器)不知道有什么不同,所以这都是约定之一。

约定是.h文件是声明,而.cpp文件是定义。

这就是为什么.h文件是#included的原因--我们包括声明。

票数 76
EN

Stack Overflow用户

发布于 2009-05-17 12:59:24

.cpp文件是编译单元:它是将被编译(在C++中)的真正的源代码文件。

包含(头)文件是将在出现# .h预编译器指令的.cpp文件中虚拟复制/粘贴的文件。一旦将.cpp代码插入到.cpp代码中,就可以开始编译headers了。

票数 31
EN

Stack Overflow用户

发布于 2009-05-17 13:00:17

.h文件或头文件用于在类声明中列出可公开访问的实例变量和方法。.cpp文件或实现文件用于实际实现这些方法和使用这些实例变量。

之所以将它们分开,是因为.h文件不会被编译成二进制代码,而.cpp文件会被编译成二进制代码。以一个库为例。假设你是作者,你不希望它是开源的。因此,您将编译后的二进制库和头文件分发给您的客户。这使他们可以轻松地查看有关您的库类的所有信息,而无需查看您是如何实现这些方法的。它们更多的是为使用你的代码而不是编译器的人准备的。正如前面所说的:这是惯例。

票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/875479

复制
相关文章
C++中头文件(.h)和源文件(.cpp)
源文件主要写实现头文件中已经声明的那些函数的具体代码。 同时需要 #include一下需要实现的头文件
艳龙
2021/12/16
1K0
g++ 编译 c++ 程序时需要包括 include .h 文件,还是需要 .cpp 文件
g++ 编译 c++ 程序时需要包括 include .h 文件,还是需要 .cpp 文件 最近用Eclipse 下的cdt 学习c++ 发现大部分的时候 main.cpp 中只需要包括 .h文件就可以了 cpp 文件在编译的时候用 g++ main.cpp *.cpp *.cpp 指定就可以。 可是今天上午编译一个 自己写的 类模板的代码 stack.h 和 stack.cpp ,main.cpp 中如果只包括 stack.h 就会出现: undefine
田春峰-JCJC错别字检测
2019/02/14
2.1K0
C++核心准则SF.5: .cpp文件必须包含定义它接口的.h文件
SF.5: A .cpp file must include the .h file(s) that defines its interface
面向对象思考
2020/10/10
5480
xml文件有哪些特点?xml与HTML有什么区别?
对于编程人员来讲,他们在平时工作中会接触和使用到许多类型的文件,其中xml是常见的一种,它也被叫做可扩展标记语言,通过它的名称就可以看出,它是可以被扩展的,并且具有标记语言的性质与作用。xml文件有什么特点?xml与HTML之间的区别是怎样的?大家一起来看看具体内容吧!
用户8739990
2021/07/09
2K0
xml文件有哪些特点?xml与HTML有什么区别?
xml格式化怎么操作?xml文件与html文件有什么区别?
随着现在互联网行业的快速发展,人们对于计算机技术的研究也是不断深入的,人们在日常使用计算机开发的时候会需要用到很多不同种类的计算机语言,比如人们平时会使用到的HTML语言、C语言等等,除了这些基础的计算机语言之外相信大家肯定也是听说过xml的,也就是人们常说的可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言,不过大家对于xml都是不太了解的,比如xml格式化怎么操作?xml文件与html文件有什么区别?下面小编就为大家详细介绍一下。
用户8739990
2021/07/16
1.7K0
xml格式化怎么操作?xml文件与html文件有什么区别?
c++/c 获取cpp文件行号跟文件名
编译器内置宏: 先介绍几个编译器内置的宏定义,这些宏定义不仅可以帮助我们完成跨平台的源码编写,灵活使用也可以巧妙地帮我们输出非常有用的调试信息。 ANSI C标准中有几个标准预定义宏(也是常用的): __LINE__:在源代码中插入当前源代码行号; __FILE__:在源文件中插入当前源文件名; __DATE__:在源文件中插入当前的编译日期 __TIME__:在源文件中插入当前编译时间; __STDC__:当要求程序严格遵循ANSI C标准时该标识被赋值为1; __cplusplus:当编写C++程序时该
hbbliyong
2018/03/06
1.8K0
H5 文件预览和下载
今天前端小伙伴遇到这么一个问题:a 标签指向非同源的一个文件,点击后会在浏览器中打开并预览该文件而不是下载它。嗯…很有意思,纪录于此。
CodecWang
2021/12/07
2K0
H5 文件预览和下载
BIN、HEX、AXF、ELF文件格式有什么区别
从存储数据的信息量上看:ELF>AXF>HEX>BIN,所以这也就确定了只能将大信息量的文件格式向小信息量的文件格式转换,如只能将HEX文件转换为BIN文件,当然如果指定了下载地址,也可以将BIN转换为HEX文件。
单片机点灯小能手
2021/09/27
2.2K0
什么是文件存储?与对象存储有什么区别?
如果您曾经在 PC、Mac 或笔记本电脑上保存过文件,那么您已经体验过文件存储,文件作为一个整体存储在硬盘上的特定位置。
网络技术联盟站
2023/03/02
4K0
什么是文件存储?与对象存储有什么区别?
Clion快速查看cpp preprocess 文件
这里其实应该说CMake管理的项目,如何快速查看其Preprocess文件。因为Clion默认使用CMake管理文件,所以这里对Clion也适用。
望天
2020/11/23
1.9K0
Clion快速查看cpp preprocess 文件
云备份vs.云存储vs.文件同步和共享:有什么区别?
供应商的信息传递显然模糊了云备份与云存储的区别。当区分文件同步和共享(FSS)时,更让人混淆不清。许多供应商都喜欢采用这种方式,因为他们认为这为吸引潜在客户提供了更广阔的市场。但是,这种蓄意的混淆导致客户不满以及出现其他问题。
静一
2019/08/29
3.9K0
云备份vs.云存储vs.文件同步和共享:有什么区别?
C语言中.h和.c文件解析
简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程:
用户6754675
2020/07/14
3K0
【说站】python包和文件夹有什么区别
以上就是python包和文件夹的区别,希望对大家有所帮助。更多Python学习指路:python基础教程
很酷的站长
2022/11/24
3970
【说站】python包和文件夹有什么区别
C++/C头文件 .h和 .c
  在C语言家族程序中,头文件被大量使用。一般而言,每个C++/C程序通常由头文件(header files)和定义文件(definition files)组成。头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明(declaration),而定义文件用于保存程序的实现 (implementation)。 .C就是你写的程序文件。   一个头文件一般包含类、子程序、变量和其他标识符的前置声明。需要在一个以上源文件中被声明的标识符可以被放在一个头文件中,并在需要的地方包含这个头文件。
互联网金融打杂
2018/04/03
1.7K0
Spring Boot 配置文件 bootstrap / application 到底有什么区别?
用过 Spring Boot 的都知道在 Spring Boot 中有以下两种配置文件
Java技术栈
2019/06/19
6.7K0
Spring Boot 配置文件 bootstrap / application 到底有什么区别?
Android查缺补漏(View篇)--布局文件中的“@+id”和“@id”有什么区别?
但需要注意的是在布局文件中,被引用的id要在引用位置的上面,否则会编译出错,如下:
codingblock
2018/07/31
8870
Android查缺补漏(View篇)--布局文件中的“@+id”和“@id”有什么区别?
Android布局文件中的“@+id”和“@id”有什么区别? +id表示为控件指定一个id(新增一个id),如: <cn.codingblock.view.customer_view.MyView android:id="@+id/myview" ... /> id表示引用一个现有的id,如: <cn.codingblock.view.customer_view.MyView android:id="@+id/myview"
codingblock
2018/03/30
1K0
JPG 与 JPEG:这些图像文件格式有什么区别?
◆ 概述 JPG 和 JPEG 是一样的吗?还是完全不同的东西?并非所有图像文件格式都是一样的。事实上,它们中的许多都是为了解决现有格式无法解决的问题而创建的。例如,JPEG 的出现是因为图像文件的大小占用了太多的存储空间。信不信由你,JIF、JPEG 和 JPG 文件扩展名或多或少指的是同一件事。要理解为什么文件格式有这么多名字,我们需要解开一些错综复杂的历史。 ◆ 什么是 JPEG? JPEG 首字母缩略词代表联合图像专家组——文件类型以帮助创建 JPEG 交换格式 (JIF) 标准的小组委员会命名。它
IT大咖说
2022/03/14
8.4K1
生成h5文件_h5实现文件下载
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/30
8570
Linux-find 和 exec来批处理指定目录下所有头文件和Cpp文件去掉注释行(23)
2.然后删除output/login下的*.cpp和*.h(这样保留下的就是非CPP和头文件了)
诺谦
2022/05/10
1.7K0
Linux-find 和 exec来批处理指定目录下所有头文件和Cpp文件去掉注释行(23)

相似问题

.h(头文件)和.cpp文件有什么区别?

50

包含.h文件和c/cpp文件有什么区别?

11

cbp文件和cpp文件有什么区别?

10

访问.h和.cpp文件

15

.cc和.cpp文件后缀有什么区别?

43.1K
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文