初始化与赋值的区别

原创 2015年11月20日 12:04:25


int a = 10; // 这叫初始化
a = 10; // 这叫赋值

虽然看着都是等号,但叫法不一样。


初始化:在定义变量/对象的时候,给定初始值

赋值:修改变量/对象的值 (原来已经有值,修改为新值)


假设有一个结构体

struct Object

{

    int id;

    char name[12];

};

Object  a = { 12,  "shaofa"};   // 这样是可以的,这是初始化

a =  { 12,  "shaofa"};  // 这样是不可以的,赋值的时候不允许这样

Object b = a; // 这是初始化

b = a; // 这是赋值



初始化和赋值的区别

折腾我挺长一段时间,基本挺明白了,先来个区别说明:赋值操作是在两个已经存在的对象间进行的,而初始化是要创建一个新的对象,并且其初值来源于另一个已存在的对象。编译器会区别这两种情况,赋值的时候调用重载的...
  • gxnu
  • gxnu
  • 2007年10月19日 11:35
  • 6817

初始化与赋值之间的区别

由于在内置类型中,初始化和赋值不进行区分并不会造成很大的影响,所以让我很大程度上忽略了他们的差别。   直到C++primer中对于构造函数提出了一句话,构造函数有一个初始化部分和一个函数体,在一个构...
  • ysayk
  • ysayk
  • 2016年03月28日 21:25
  • 2248

C++赋值与初始化的区别

C++中, 对于简单类型的赋值和初始化的区别基本可以忽略,但当涉及到类或者复杂的数据类型时,问题就变得不那么简单了。 class Point { public: Point(int a=0, int...
  • linchere
  • linchere
  • 2015年01月01日 16:01
  • 571

浅析C++中的初始化列表(区别赋值和初始化)

派生类不能直接访问基类的私有成员,而必须通过基类方法进行访问。具体来说,派生类构造函数必须使用基类构造函数。创建派生类对象时,程序首先创建基类对象。C++使用初始化列表完成这项工作。RatedPlay...
  • wangshubo1989
  • wangshubo1989
  • 2015年10月06日 22:36
  • 6015

初始化与赋值的区别

初始化就是在对象创建的同时,使用初值直接填充对象的内存单元,因此不会有数据类型转换等中间过程,也就不会产生临时对象;而赋值则是在对象创建好后任何时候都可以调用的而且可以多次调用的函数,由于它调用的是”...
  • jzhb1987
  • jzhb1987
  • 2013年08月23日 10:40
  • 417

c语言变量的初始化和赋值的区别

原理 顺着这个思路想了一下,为什么C语言的全局变量(global)就算不赋值会被自动初始化位默认值,但是局部变量(local)不会呢? 学习了一下C语言的内存布局结构,然后自己验证了一下然后明白...
  • Com_ma
  • Com_ma
  • 2017年11月16日 08:29
  • 189

c++-赋值与初始化的区别

在初始化语句中的等号(=)不是等号
  • fengge6715
  • fengge6715
  • 2014年04月26日 15:28
  • 539

C++初始化与赋值 区别

先来个区别说明:赋值操作是在两个已经存在的对象间进行的,而初始化是要创建一个新的对象,并且其初值来源于另一个已存在的对象。编译器会区别这两种情 况,赋值的时候调用重载的赋值运算符,初始化的时候调用拷贝...
  • u011068464
  • u011068464
  • 2013年12月04日 19:02
  • 463

字符串初始化与赋值区别

字符串初始化和赋值的区别:   初始化  Char str[] = “abcdef” // 合法    赋值 char str[10] ; ...
  • qq_31988345
  • qq_31988345
  • 2015年10月17日 17:45
  • 94

初始化、赋值的区别

Initialization is not assignment. Initialization happens when a variable is given a value when it is...
  • tkp2014
  • tkp2014
  • 2015年08月26日 22:06
  • 206
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:初始化与赋值的区别
举报原因:
原因补充:

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