http://zhidao.baidu.com/link?url=omVOhkgo4ZtpRddk794ly-aX79VjboKv3c3noM5tdztyWJWyNil6D5xP3nUcI-zu3o_yDk3aAGK5P6BFIT9no_ C++有哪几种情况只能用初始化列表,而不能用赋值? 分享| 2013-08-26 11:43 小宇宙_0uy | 浏览 630 次 智能仪器 2013-08-26 11:49 #行家成长训练营,闯关拿奖欢乐多!# 提问者采纳 (1)对于const和reference类型成员变量,它们只能够被初始化而不能做赋值操作,因此只能用初始化列表;初始化与赋值是不同的: 赋值是删除原值,赋予新值,构造函数的意思是先开辟空间然后为其赋值,只能算是赋值,不算初始化;初始化列表就不一样了,开辟空间和初始化是同时完成的,直接给予一个值;常量不能被赋值,只能被初始化,所以必须在初始化列表中完成;C++的引用也一定要初始化,所以必须在初始化列表中完成。【 1) 引用必须被初始化,指针不必; 2) 引用初始化以后不能被改变,指针可以改变所指的对象; 3) 不存在指向空值的引用,但是存在指向空值的指针。】