首页 > 代码库 > c++ 声明和定义的区别

c++ 声明和定义的区别

从编译原理上来说,声明是仅仅告诉编译器,有个某类型的变量会被使用,但是编译器并不会为它分配任何内存。而定义就是分配了内存。

int a;在外面是作为一个语句,这就是定义,会构造对象,定义本身也是声明。
而在类中,这句只是声明一个类的成员,它不会在声明时构造,而是在对象实例时被构造出来

 

但是,下面的声明,一定仅仅是声明:
extern int a;

c++ 声明和定义的区别