定义,初始化,赋值的区别

哪些会对内存分配有影响?
对类和结构是不是一样?
在C++中,对一个变量按照使用的时间顺序分大体可以是声明,定义,初始化,赋值。
声明,不仅只对变量使用声明。如在程序中要用到求平方根的函数,则可在程序起始端声明:#include <math>来告诉系统将要用到函数库中的函数。对变量使用时,可以声明一个变量是普通变量(默认的),或者是静态变量(如static int a),或者是全局变量。
定义,在C++中一般只对变量使用。一般是说明变量的类型。如int i定义i为一个整型变量。
初始化,实际上对变量赋初值就是对变量进行初始化。如int i=2将i赋初值2.
赋值,初始化其实是赋值的一种情况,另一种情况是比如上面的i我用过了,并且现在i=5。我要让它为9,就写i=9。

======
是不是定义一个变量就会分配内存?
如果定义一个类或者结构呢?

  1.定义需要分配存储空间
  2.初始化是定义变量时候赋给变量的值;
  3.赋值是以后用到该变量,赋给该变量新的值;
  定义是在内存中确定变量的位置、大小。初始化是定义变量时候赋给变量的值(从无到有).赋值是以后用到该变量,赋给该变量新的值.
int i;//定义
int i=9;初始化
i= 7;// 赋值
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-21
会分配,但是定义一个引用不会。

int a = 10;
int& b = a;

b不会分配内存的。

你定义一个
class A{
//........
};

但是不定义变量的话,是不会分配内存的。

A a; // 这里就会分配空间了。

分配空间是在运行期,你定义的结构体或者类 如果没有用到,运行期中是不会为他们分配内存的。本回答被提问者采纳
第2个回答  2009-07-26
定义类或者结构当然不用分配内存, 除非这个类或者结构里面有static的成员变量

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网