在一个项目中,如果需要用到函数f,那么f必须在.h 文件当中声明吗?或者说在有a.h文件的前提下,可以直接在a.cpp里面声明并定义吗?
1条回答 默认 最新
- threenewbee 2018-04-13 15:48关注
从两个层次回答这个问题
从编译器的角度看,.h文件和.cpp文件没有任何区别,如果你愿意,完全可以把所有代码写在.h文件里,并且在cpp文件里包含它,而不写别的代码。一样可以编译程序
另外,虽然我们很少这么做,但是c++编译器实际上也可以单独编译h文件,同时,我们也可以include一个cpp文件。从程序员的角度看,h文件和cpp文件有逻辑上的分工,前者专门用于包含(相同的代码需要放在多个文件里),后者用于一般的代码。因此h文件里放的是多次使用的内容,而避免重复。这和c++语言的特点有关,c++要求无论是函数还是类还是变量,都要先定义才能使用。所以定义就是每个调用的文件里都需要重复而值得放在h文件里的。但是并不只有这样的内容可以放在h,也不表示定义就一定要写在h文件里,比如一个函数,只在一个cpp用,就完全没有必要。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 4无用
悬赏问题
- ¥30 YOLO检测微调结果p为1
- ¥20 求快手直播间榜单匿名采集ID用户名简单能学会的
- ¥15 DS18B20内部ADC模数转换器
- ¥15 做个有关计算的小程序
- ¥15 MPI读取tif文件无法正常给各进程分配路径
- ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
- ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
- ¥15 setInterval 页面闪烁,怎么解决
- ¥15 如何让企业微信机器人实现消息汇总整合
- ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题