xxxuuuooo 2018-04-13 13:06 采纳率: 50%
浏览 1244
已采纳

关于C++项目.h文件使用规则 的为题

在一个项目中,如果需要用到函数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用,就完全没有必要。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 YOLO检测微调结果p为1
  • ¥20 求快手直播间榜单匿名采集ID用户名简单能学会的
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题