定义与声明的区别
在C++中,声明和定义有以下区别:
- 声明(Declaration):声明是向编译器介绍变量、函数、类等的名称和类型。声明不分配存储空间,也不初始化变量。声明通常出现在函数原型、类定义或全局变量声明中。
例如,声明一个整型变量int a;
,这里只告诉编译器有一个名为a
的整型变量,但并没有为它分配存储空间。
- 定义(Definition):定义是为变量、函数、类等分配存储空间并初始化。定义会创建实体,分配内存空间,并可能对变量进行初始化。定义通常出现在函数体、类成员函数体或全局变量定义中。
例如,定义一个整型变量int a = 10;
,这里不仅告诉编译器有一个名为a
的整型变量,还为它分配了存储空间,并将其初始化为10。
总结:声明只是告诉编译器有关变量、函数、类等的信息,而定义则是创建实体并分配存储空间。