标签:
初始化和赋值的区别
在C++中,变量初始化和赋值操作符是两个完全不同的概念。
初始化不是赋值,初始化的含义是创建变量分配存储空间时为其赋一个初始值,而赋值的含义是把内存空间的当前值擦除,用一个新值代替。
C++中列表初始化
int number1 = 1
int number2 (1)
int number3 {1}
int number4 = {1}
作为C++11新标准,花括号来初始化变量得到全面应用,这种初始化叫做列表初始化(list initialization)
列表初始化特点:使用列表初始化且初始值存在信息丢失风险,则编译器报错
int num{1} //正确
int num2{1.1} //错误
int num3 = 1.1 //正确
默认初始化
定义在任何函数体外的内置类型变量被初始化为0,而定义在函数体内部的内置类型变量将不会被初始化,这个值是未定义的,这是个不确定的值,使用未初始化变量的值是一种错误的编程方式,并且很难吊事,建议定义每一个内置类型变量时都对变量进行初始化。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
标签:
原文地址:http://www.cnblogs.com/wangzhinju/p/4893516.html