社区
C++ 语言
帖子详情
头文件是包含在.h中好还是.cpp中?
jinlinsky
2009-11-09 03:00:17
预编译头文件都是包含在.cpp中
公司主程序大多代码都是包含在.cpp中的,.h文件中使用到其他类型时 只是使用了前项引用申明
这样做的好处和弊端分别是什么呢?
...全文
1087
17
打赏
收藏
头文件是包含在.h中好还是.cpp中?
预编译头文件都是包含在.cpp中 公司主程序大多代码都是包含在.cpp中的,.h文件中使用到其他类型时 只是使用了前项引用申明 这样做的好处和弊端分别是什么呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lalala1977
2009-11-09
打赏
举报
回复
在书中常看到头文件包含在.h文件中。
rabbitlzx
2009-11-09
打赏
举报
回复
[Quote=引用 12 楼 loaden 的回复:]
引用 7 楼 jinlinsky 的回复:
引用 2 楼 loaden 的回复:
放在cpp中可以减小头文件依赖,可以提高编译速度。
所以,能放在cpp中的,就不要放在h中。
可以采取类似声明的方法:
头文件中:class A;
就可以使用A*了。
然后在cpp中再#include "a.h"
请问预编译头文件的东西 如果我#include <d3d9.h> 我能在其他的.h中定义d3d接口吗
我试了好像不行,拿这样预编译头文件的意义何在呢。。
首先,预编译头文件一般是:StdAfx.h
预编译的目的是提高编译速度。
如果项目使用预编译头文件,则所有cpp都要最先包含用于预编译的头文件,比如:StdAfx.h
d3d9.h这是D3D的头文件,是系统头文件。
你可以放在StdAfx.h中,供所有.cpp包含。
[/Quote]
up
jinlinsky
2009-11-09
打赏
举报
回复
[Quote=引用 12 楼 loaden 的回复:]
引用 7 楼 jinlinsky 的回复:
引用 2 楼 loaden 的回复:
放在cpp中可以减小头文件依赖,可以提高编译速度。
所以,能放在cpp中的,就不要放在h中。
可以采取类似声明的方法:
头文件中:class A;
就可以使用A*了。
然后在cpp中再#include "a.h"
请问预编译头文件的东西 如果我#include <d3d9.h> 我能在其他的.h中定义d3d接口吗
我试了好像不行,拿这样预编译头文件的意义何在呢。。
首先,预编译头文件一般是:StdAfx.h
预编译的目的是提高编译速度。
如果项目使用预编译头文件,则所有cpp都要最先包含用于预编译的头文件,比如:StdAfx.h
d3d9.h这是D3D的头文件,是系统头文件。
你可以放在StdAfx.h中,供所有.cpp包含。
[/Quote]
请问是否自己创建过预编译头文件,而不使用创建项目时候自动生成的
我尝试了一下,用/Yc可以自己创建 但是用/Yu的时候会出错,说找不到PCH文件 或者找不到其他文件
不知道是何原因造成的
ZXW0521
2009-11-09
打赏
举报
回复
最好cpp,
yeahe83
2009-11-09
打赏
举报
回复
一般是默认放在cpp里,之后如果出现.h也用了,再把cpp中的删了。
老邓
2009-11-09
打赏
举报
回复
[Quote=引用 7 楼 jinlinsky 的回复:]
引用 2 楼 loaden 的回复:
放在cpp中可以减小头文件依赖,可以提高编译速度。
所以,能放在cpp中的,就不要放在h中。
可以采取类似声明的方法:
头文件中:class A;
就可以使用A*了。
然后在cpp中再#include "a.h"
请问预编译头文件的东西 如果我#include <d3d9.h> 我能在其他的.h中定义d3d接口吗
我试了好像不行,拿这样预编译头文件的意义何在呢。。
[/Quote]
首先,预编译头文件一般是:StdAfx.h
预编译的目的是提高编译速度。
如果项目使用预编译头文件,则所有cpp都要最先包含用于预编译的头文件,比如:StdAfx.h
d3d9.h这是D3D的头文件,是系统头文件。
你可以放在StdAfx.h中,供所有.cpp包含。
crst_zh
2009-11-09
打赏
举报
回复
最好在.cpp文件中包含.h文件,不要在.h文件包含任何无必要的头文件
可以减小编译依赖,头文件中可以使用前置声明。
The_facE
2009-11-09
打赏
举报
回复
请不要在头文件中“定义”东西,如果你不想给你的战友带来麻烦的话。
陌上花花
2009-11-09
打赏
举报
回复
新手只知道头文件放在.H中最好,至于实际开发中的情形没有经验还
pytf
2009-11-09
打赏
举报
回复
一般是放在cpp中
jinlinsky
2009-11-09
打赏
举报
回复
[Quote=引用 2 楼 loaden 的回复:]
放在cpp中可以减小头文件依赖,可以提高编译速度。
所以,能放在cpp中的,就不要放在h中。
可以采取类似声明的方法:
头文件中:class A;
就可以使用A*了。
然后在cpp中再#include "a.h"
[/Quote]
请问预编译头文件的东西 如果我#include <d3d9.h> 我能在其他的.h中定义d3d接口吗
我试了好像不行,拿这样预编译头文件的意义何在呢。。
xixiaoliu
2009-11-09
打赏
举报
回复
一个原则是,谁用谁包含
lhslktg
2009-11-09
打赏
举报
回复
哪里用到就放哪里
太乙
2009-11-09
打赏
举报
回复
这样做代码更清晰……
jackyjkchen
2009-11-09
打赏
举报
回复
只有头文件必须用到的放到头文件,或者所有cpp都用到的也可以放到头文件
老邓
2009-11-09
打赏
举报
回复
放在cpp中可以减小头文件依赖,可以提高编译速度。
所以,能放在cpp中的,就不要放在h中。
可以采取类似声明的方法:
头文件中:class A;
就可以使用A*了。
然后在cpp中再#include "a.h"
The_facE
2009-11-09
打赏
举报
回复
放在.cpp文件中是比较安全的,个人认为。头文件在多次递归包含后很容易出现一些定义和声明上的问题。尤其是没有使用名字空间或者直接在头文件里包含某个名字空间的时候。我最恨某些人在.h文件中写
using namespace std;
这一行代码曾经让我疯狂的忙活了一天。
攻克系列:matplotlib-
cpp
在vs上的配置
Matplotlib-
cpp
是一个用于C++的Matplotlib库绑定,它可以让C++程序使用Matplotlib进行数据可视化。在Visual Studio上配置Matplotlib-
cpp
需要以下步骤:1、下载并安装Python环境和Matplotlib。确保Python可以在命令行
中
运行。2、在Visual Studio
中
创建一个C++项目。3、在代码
中
包含
Matplotlib-
cpp
的
头文件
,并使用Matplotlib-
cpp
的函数进行绘图。4、配置
头文件
和库文件5、编译并运行程序。如果一切正常,应该可以看到一个图形窗口显示。以上是Matplotlib-
cpp
在Visual Studio上的基本配置步骤。具体操作可能会因操作系统和Visual Studio版本而有所不同,需要根据实际情况进行调整。本课程将通过实际操作帮助大家怎么配置matplotlib
cpp
到Visual Studio
中
,本课程用到的环境为windows x64Visual Studio 2019anaconda3请大家准备好安装包让我们一起进入课堂吧
头文件
在.c/.
cpp
中
引用和.h文件引用
头文件
在.c/.
cpp
中
引用和.h文件引用a.h
头文件
中
的变量 .
cpp
文件函数的相互调用
C++ 在.h文件
中
包含
头文件
和在.
cpp
文件
中
包含
头文件
有什么区别?前置声明
Note:类A在编译的时候不需要拿到类B的定义是因为这里面定义的是指针,而对于指针是不需要定义就可以进行内存布局的,在编译A的类的声明的时候,在进行内存布局的时候是不需要拿到B的定义的。假设有两个类 A 和 B,A 类
包含
了 B 类的一个指针成员,并且在 A.
cpp
文件
中
使用了 B 类的成员函数。6、如果a.c
包含
了
头文件
a.h,a.h
包含
了
头文件
b.h,b.c也
包含
了b.h,那么当b.h发生改变时,a.c和b.c都会重新编译。其
中
A类有一个成员b是Class B的指针,这个时候可使用类前置声明。
头文件
的
包含
以及命名空间的引入尽量写在
cpp
文件
中
转载自:http://blog.csdn.net/u012234115/article/details/40019945 菜鸟编程需要知道的规范。 1,
头文件
尽量
包含
在
cpp
文件里,而不是h文件里 放在.
cpp
文件
中
是比较安全的,文件在多次递归
包含
后很容易出现一些定义和声明上的问题。 放在
cpp
中
可以减小
头文件
依赖,可以提高编译速度。所以,能放在
cpp
中
的,就不要放在h
中
。 ...
【C++】内联函数为什么定义在
头文件
中
?
最近从新捡起C++,突然有一个想法,为什么内联函数的会在
头文件
中
申明和定义。 如果是C++新手,对申明和定义这两个词比较陌生,那么我先解释一下申明和定义的意思(原谅我废话多) 一、申明和定义 申明一般放
头文件
中
,定义一般放.
cpp
文件
中
。 比如现在我有个计算绝对值的函数。 首先我创建一个abs.h文件申明这个函数: int abs(int a); 然后创建一个abs.ccp文件定义这个函数: #...
C++ 语言
64,642
社区成员
250,580
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章