声明和定义
- 定义 等于 声明(
int a
即进行了声明也进行内存空间的分配【定义】) - 声明 != 定义 (
extern int a
只是声明这个这个变量,并没有对变量进行内存空间的分配) - 在任何使用到任何函数/变量的地方,必须包含其声明和定义
一个变量/函数可以被声明多次,但是只能被定义一次。
- 如果项目对应的只是一个cpp文件,则只需要将声明、定义放在文件的开头处,后面直接用就行。
- 如果项目由多个文件组成,A.cpp中的一个函数需要在B.cpp用到——头文件的好处,可以创建A.hpp(其中包含A中函数的声明),在所有需要用到该函数的文件中都用
include "A.hpp"
来包含对应的函数声明
- 一个变量/函数的声明,可以告诉该cpp,需要用的东西在某个地方统一被定义了(以便其能通过编译),该函数具体的内容在哪,在链接的时候再去找。
头文件
- 利用头文件可以实现函数/变量在不同cpp之间的共享(声明共享)
- #include操作,只是将对应的hpp内容无差别的拓展到本cpp(实现声明共享)——为了避免重复定义,所以最好不要在hpp文件中写函数的实现、变量的定义
- 有几种特殊情况可以将定义放在在头文件
- 【c