初始化和赋值
初始化指的是在变量或对象被创建的时候,赋予的一个初始值;
而赋值,则是给某个变量或对象擦除原有的值,写上一个新的值。
默认初始化
如果定义变量时,没有指定初值,变量则被默认初始化。
如定义在函数(包含main函数)之外的变量都将被默认初始化为0,而定义在函数体内部的内置类型将不会被初始化。即,全局变量,默认值为0,局部变量得到一个
C++11支持的列表初始化方式:
int a{12};
另外c++98支持的是:
int a=12;
int a(12);
int a={12};
未被初始化
当一个变量或对象未被初始化时,我们说这个变量的值是未被定义的。
如果试图访问或者拷贝此类值,将引发错误。
int c;
int d=c;
//这样是没有问题的,因为创建变量C的时候已经默认初始化值了,此处C得到的数据是一个随机值