C++中无处不在的临时变量

概念:

定义:分配内存,初始化操作是可选的。如未初始化则内存是未定义的

声明:这里指狭义的声明。不分配内存,只是为了方便编译器

初始化:已经新创建了对象(已分配内存),用一个已经存在的对象对它进行初始化,即给它占有的内存填充值。C++中初始化有两种形式:

  1) 对于内建类型,通过=操作符进行初始化,也可以用构造函数的形式

  2) 对于非内建类型,通过拷贝构造函数的方式。通过"="操作符调用的是重载的赋值操作符函数,因此这种情况属于赋值而非初始化。

赋值:对象已经存在,通过赋值可以改变其值。通过"="操作符来完成。

 

1. 隐式类型转换

double dbl1 = 1;

long double dbl2 = 1.0;

db12 = dbl1;

由于整型文字量,默认是int类型, 浮点型文字量,默认是double类型

上面两个初始化都有临时对象生成。

最后一行的赋值操作也有临时对象生成。

2.

posted @ 2008-10-08 19:02  中土  阅读(655)  评论(0编辑  收藏  举报
©2005-2008 Suprasoft Inc., All right reserved.