声明和定义的区别

原创 2007年10月12日 16:19:00
c++ primer 3rd 5.2声明语句讲得不清不楚的,还是Effective c++ 2nd讲得清楚.所谓声明( declaration),就是用来将一个object function class 或tempate的型别名称告诉编译器.声明式并不带有细节信息.

对object而言,其定义式是编译器为它配置内存的地点.
extern int x; // object declaration
int x; // object definition.

对于function或function template而言,其定义式是提供函数本体( funtion body).
int fun( int arg) // function declaration
int fun( int arg){ return 0;} // function declaration definition.

对于class或class template而言,其定义式必须列出该class或tempalte的所有members;
class Clock; // class declaration.

// class definition
class Clock{
 public:
   Clock();
   ~Clock();
}


浅谈声明与定义的区别

清楚明白声明与定义是一名合格的程序猿的基本要求。 C++编码过程中谈及“声明”和“定义”是因为我们要使用一个变量、类型(类、结构体、枚举、共用体)或者函数,因此有申明和定义变量、类型和函数之说。C/...
  • K346K346
  • K346K346
  • 2015-06-01 15:08:56
  • 2361

变量的定义和声明的区别详解

感言:我马上大三了,对计算机也算是有点感兴趣,但一直以来我对变量的定义和声明都很模糊,最开始看书上是这样讲的:定义-->就形如 int a;这就是定义了一个整形变量,然后就说变量的定义只能是一次而声明...
  • zhou753099943
  • zhou753099943
  • 2015-08-31 14:39:21
  • 3438

什么是定义,什么是声明。

定义和声明有什么区别:   举一个例子: A),int a;B),extern int a; 那个是定义,那个是声明呢?或者都是定义,又或者都是声明。 这个问题,在我工作中和学习中,从来没有被教过和问...
  • LiuNian_SiYu
  • LiuNian_SiYu
  • 2016-08-30 20:53:54
  • 1993

Java中定义和声明的区别

Java中最基本的就是定义变量和声明变量。 定义和声明的区别: 声明是向编译器介绍名字-标识符。它告诉编译器这个函数或变量在某处可以找到,它的模样像什么。而定义是说:“在这里建立变量”或“在...
  • gloomysnow
  • gloomysnow
  • 2016-05-22 16:50:31
  • 4267

C++ 声明,定义与初始化的基本概念

对于变量:官方的解释:声明一个变量只是将变量名标识符的有关信息告诉编译器,使编译器“认识”该标识符,但声明不一定引起内存的分配。而定义变量意味着给变量分配内存空间,用于存放对应类型的数据,变量名就是对...
  • chaipp0607
  • chaipp0607
  • 2017-03-01 16:39:37
  • 2198

C语言中声明、定义和初始化的区别

此外,其声明用于说明变量的属性(主要是变量的类型),且可多次声明;而变量的定义除此以外还将引起存储器的分配,且只能定义一次。 注意:定义是一种特殊的声明。 int sp; double val[MAX...
  • Mark_meego
  • Mark_meego
  • 2015-05-02 17:03:11
  • 5500

extern 关键字 声明和定义的区别

extern实际上就两种用法,就是后面加不加C 一,后面加C如: extern "C" void fun(int a, int b);就是告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数...
  • u011676589
  • u011676589
  • 2013-08-17 16:40:03
  • 2177

关于结构体的定义和声明的几种方式

结构体类型变量的定义与其它类型的变量的定义是一样的,但由于结构体类型需要针对问题事先自行定义,所以结构体类型变量的定义形式就增加了灵活性,共计有三种形式,分别介绍如下: 1) 先定义结构体类型,再定...
  • xiewenhao12
  • xiewenhao12
  • 2017-02-15 10:30:57
  • 167

c语言中声明和定义的区别

1、声明(declaration )指定了一个变量的标识符,用来描述变量的类型,是类型还是对象,或者函数等。声明,用于编译器(compiler)识别变量名所引用的实体。以下这些就是声明: ext...
  • jie1024539775
  • jie1024539775
  • 2017-02-10 14:40:28
  • 191

数组声明和定义的注意事项

一、不允许数组拷贝和赋值int a[] = {1,2,3}; //含有3个整数的数组int a2[]= a;//错误:不允许使用一个数组初始化另一个数组a2 = a; //错误:不能把一个数组直接赋值...
  • zhengliuguo
  • zhengliuguo
  • 2018-02-08 11:53:26
  • 132
收藏助手
不良信息举报
您举报文章:声明和定义的区别
举报原因:
原因补充:

(最多只允许输入30个字)