每个人都指出了一个定义规则"。我不打算在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
。区别?
一个定义规则不适用于此。
是的,最后一个问题,为什么每个人都说使用标题和这种技术减少了编译时间?这究竟是如何工作的?
答案 0 :(得分:5)
编译器并不关心文件扩展名,因此编译器没有区别。这里重要的是,它是一个众所周知的公认的惯例,声明(什么做的)进入.h文件和定义&amp;实现(如何做到这一点)进入.cpp文件。如果你不遵循这个惯例,你会混淆其他读者,如果你要去做更大的项目,这是一个大问题。然后你就会成为那个没有人想要在项目上工作的人,因为你混淆了其他项目成员然后你就失去了你的工作,因为你不能只是遵循这个该死的惯例。
是的,最后一个问题,为什么每个人都说使用标题和 这种技术减少了编译时间?这究竟是如何运作的?
我认为您指的是预编译的头文件,this question有一些好的答案。