, 就会在表达式执行完毕后 , 销毁匿名对象 ;
使用匿名对象初始化变量 : 如果 创建 匿名对象 后 , 还使用 匿名对象 初始化 变量 , 此时 编译器 会将 匿名对象 转为 普通对象 , 不会销毁该匿名对象..., 该对象会一直持续到该作用域结束 ;
使用匿名对象为变量赋值 : 如果 创建 匿名对象 后 , 还使用 匿名对象 为 已存在的变量 赋值 , 此时 编译器 会将 匿名对象 的值赋值给 已存在的变量...;
下面介绍下上述操作的原理 ;
2、匿名对象转为普通对象
先 创建一个 " 匿名对象 " , 然后将匿名对象 赋值给 Student s 变量 ;
// 创建匿名对象, 并将其赋值给变量
Student...二、将 " 匿名对象 " 赋值给变量
----
1、使用匿名对象进行赋值操作
" 匿名对象 " 创建后有两种用法 , 一种是用于为 变量 进行初始化操作 , 该操作直接将 匿名对象 转为 普通对象 ,...不涉及 匿名对象 销毁操作 ;
另外一种就是将 匿名对象 赋值给 已存在的变量 , C++ 编译器会进行如下处理 :
首先 , 读取 匿名对象 的值 , 将值赋值给已存在的变量 ,
然后 , 销毁 匿名对象