此时 编译器 会将 匿名对象 转为 普通对象 , 不会销毁该匿名对象 , 该对象会一直持续到该作用域结束 ;
使用匿名对象为变量赋值 : 如果 创建 匿名对象 后 , 还使用 匿名对象 为 已存在的变量...Student fun()
{
Student s1(18, 170);
return s1;
}
二、当函数返回值为对象时的情况分析
----
1、函数返回对象值时返回值为匿名对象
如果一个 函数的返回值...函数返回的匿名对象
函数返回的匿名对象 有两种方案 :
为 刚定义 变量 初始化 : 此时直接 将 匿名对象 转为 普通对象 ;
为 已存在 变量 赋值 : 此时 将 匿名对象中的值取出 , 赋值给现有变量对象...为 变量 赋值
在下面的代码中 , fun 函数返回值是 Student 类型的匿名对象 ;
// 函数返回值是 Student 类型的对象
Student fun()
{
Student s(12..., 使用 匿名对象 为 普通变量赋值 , 需要将 匿名对象的值赋值给普通对象 , 匿名对象 之后直接销毁 , 这是调用析构函数 销毁 fun 函数返回的匿名对象 ;
学生信息 : 年龄 = 12 , 身高