C++ 编译器 发现 使用 匿名对象 时 , 会根据 匿名对象 的用法 , 决定对 匿名对象的 处理 ;
匿名对象单独使用 : 如果只是单纯的使用 匿名对象 , 没有涉及到 将 匿名对象 赋值给其它变量..., 并且立刻销毁该匿名对象 ;
一、将 " 匿名对象 " 初始化给变量
1、使用匿名对象进行初始化操作
" 匿名对象 " 的 作用域 仅限于其所在的 表达式 , 这句表达式 执行完毕后 , 匿名对象 自动销毁...;
下面介绍下上述操作的原理 ;
2、匿名对象转为普通对象
先 创建一个 " 匿名对象 " , 然后将匿名对象 赋值给 Student s 变量 ;
// 创建匿名对象, 并将其赋值给变量
Student..., 自然就不会被销毁 ;
这里 将 " 匿名对象 " 直接转为 " 普通对象 " , 这里只是进行单纯的转换 , 不涉及拷贝复制的情况 ;
3、代码示例 - 将 " 匿名对象 " 赋值给变量
代码示例...不涉及 匿名对象 销毁操作 ;
另外一种就是将 匿名对象 赋值给 已存在的变量 , C++ 编译器会进行如下处理 :
首先 , 读取 匿名对象 的值 , 将值赋值给已存在的变量 ,
然后 , 销毁 匿名对象