惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
P
Proofpoint News Feed
宝玉的分享
宝玉的分享
人人都是产品经理
人人都是产品经理
博客园_首页
爱范儿
爱范儿
博客园 - 叶小钗
aimingoo的专栏
aimingoo的专栏
S
SegmentFault 最新的问题
MyScale Blog
MyScale Blog
阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
Microsoft Security Blog
Microsoft Security Blog
Blog — PlanetScale
Blog — PlanetScale
博客园 - 【当耐特】
Y
Y Combinator Blog
量子位
博客园 - 三生石上(FineUI控件)
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
The Blog of Author Tim Ferriss
月光博客
月光博客
有赞技术团队
有赞技术团队
Apple Machine Learning Research
Apple Machine Learning Research
A
About on SuperTechFans

博客园 - 中土

strcpy和memcpy的标准实现 Linux 命令缩写部分解释 Eclipse RCP 的一些有用的资源及应用案例 分析Linux和windows动态库 C/C++中的函数参数传递机制(zz) LDD3 笔记: 第3章 字符设备的驱动 2008年看书计划 H.264学习建议(zz) - 中土 - 博客园 几种常用的视频接口(端子) U-boot 移植到FS2410 NandFlash和NorFlash的区别 A simple tourial for Linux 2.6.24 kernel module Linux basic use Kernel resource list Linux2.6 驱动设计―从 2.4.x 到 2.6.x Linux 2.6.x 内核模块入门(LKM) 类中引用成员的初始化 C++初始化与赋值 C异常处理实现: setjmp和longjmp
C++中无处不在的临时变量
中土 · 2008-10-08 · via 博客园 - 中土

概念:

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

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

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

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

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

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

1. 隐式类型转换

double dbl1 = 1;

long double dbl2 = 1.0;

db12 = dbl1;

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

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

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

2.