C++中无处不在的临时变量
概念:
定义:分配内存,初始化操作是可选的。如未初始化则内存是未定义的
声明:这里指狭义的声明。不分配内存,只是为了方便编译器
初始化:已经新创建了对象(已分配内存),用一个已经存在的对象对它进行初始化,即给它占有的内存填充值。C++中初始化有两种形式:
1) 对于内建类型,通过=操作符进行初始化,也可以用构造函数的形式
2) 对于非内建类型,通过拷贝构造函数的方式。通过"="操作符调用的是重载的赋值操作符函数,因此这种情况属于赋值而非初始化。
赋值:对象已经存在,通过赋值可以改变其值。通过"="操作符来完成。
1. 隐式类型转换
double dbl1 = 1;
long double dbl2 = 1.0;
db12 = dbl1;
由于整型文字量,默认是int类型, 浮点型文字量,默认是double类型
上面两个初始化都有临时对象生成。
最后一行的赋值操作也有临时对象生成。
2.