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

时间:2017-07-11 14:32:25

标签: c++

每个人都指出了一个定义规则"。我不打算在c / cpp文件中定义任何我的东西,而是仅将它们用于声明。

一个cpp文件:

int add(int x, int y);

另一个cpp文件:

#include<one.cpp>
int add(int x, int y)
{
    return x + y;
}

另一个cpp文件:

#include<one.cpp>
int main()
{
    int result = add(2,2);
}

基本上是相同的,但我使用.h而不是.cpp。区别? 一个定义规则不适用于此。 是的,最后一个问题,为什么每个人都说使用标题和这种技术减少了编译时间?这究竟是如何工作的?

1 个答案:

答案 0 :(得分:5)

编译器并不关心文件扩展名,因此编译器没有区别。这里重要的是,它是一个众所周知的公认的惯例,声明(什么做的)进入.h文件和定义&amp;实现(如何做到这一点)进入.cpp文件。如果你不遵循这个惯例,你会混淆其他读者,如果你要去做更大的项目,这是一个大问题。然后你就会成为那个没有人想要在项目上工作的人,因为你混淆了其他项目成员然后你就失去了你的工作,因为你不能只是遵循这个该死的惯例。

  

是的,最后一个问题,为什么每个人都说使用标题和   这种技术减少了编译时间?这究竟是如何运作的?

我认为您指的是预编译的头文件,this question有一些好的答案。