xxxuuuooo
xxxuuuooo
采纳率100%
2018-04-13 13:06

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

5
已采纳

在一个项目中,如果需要用到函数f,那么f必须在.h 文件当中声明吗?或者说在有a.h文件的前提下,可以直接在a.cpp里面声明并定义吗?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 3年前

    从两个层次回答这个问题

    从编译器的角度看,.h文件和.cpp文件没有任何区别,如果你愿意,完全可以把所有代码写在.h文件里,并且在cpp文件里包含它,而不写别的代码。一样可以编译程序
    另外,虽然我们很少这么做,但是c++编译器实际上也可以单独编译h文件,同时,我们也可以include一个cpp文件。

    从程序员的角度看,h文件和cpp文件有逻辑上的分工,前者专门用于包含(相同的代码需要放在多个文件里),后者用于一般的代码。因此h文件里放的是多次使用的内容,而避免重复。这和c++语言的特点有关,c++要求无论是函数还是类还是变量,都要先定义才能使用。所以定义就是每个调用的文件里都需要重复而值得放在h文件里的。但是并不只有这样的内容可以放在h,也不表示定义就一定要写在h文件里,比如一个函数,只在一个cpp用,就完全没有必要。

    点赞 3 评论 复制链接分享