cpp 中的声明和定义

请注意:本文编写于 ,其中某些信息可能已经失去时效性。

区分声明和定义

C++ 程序由各种实体(例如变量、函数、类型和命名空间)组成。必须先声明其中的每个实体才能使用这些实体。

除了声明以外,还必须定义一些实体,包括函数、类、枚举和常量变量。定义为编译器提供了在程序中使用该实体时生成计算机代码所需要的所有信息。无论定义的是函数还是变量,编译器都要为他们在定义点分配存储空间。

基本类型变量的声明和定义(初始化)时同时产生的,而对于对象或其他复杂类型变量来说声明和定义时分开的。

简而言之:定义动作会分配存储空间,而声明动作则不会。

扩展:

局部变量被定义时,系统不会对其初始化,必须手动初始化;定义全局变量时系统会自动进行如下初始化。

数据类型 初始化默认值
int 0
char '\0'
float 0
double 0
pointer NULL

参考

  1. 声明和定义(c + +)
  2. CSDN-飞天絮血:变量定义和声明的区别(整理)
  3. 菜鸟教程-C++