从编译原理上来说,声明是仅仅告诉编译器,有个某类型的变量会被使用,但是编译器并不会为它分配任何内存。而定义就是分配了内存。
int a;在外面是作为一个语句,这就是定义,会构造对象,定义本身也是声明。而在类中,这句只是声明一个类的成员,它不会在声明时构造,而是在对象实例时被构造出来
但是,下面的声明,一定仅仅是声明:extern int a;
posted on 2014-08-27 20:32 防空洞123 阅读(192) 评论(0) 编辑 收藏 举报