, 以及不同的使用场景下 , 匿名对象 的 创建与销毁情况 ;
C++ 编译器 发现 使用 匿名对象 时 , 会根据 匿名对象 的用法 , 决定对 匿名对象的 处理 ;
匿名对象单独使用 : 如果只是单纯的使用...Student fun()
{
Student s1(18, 170);
return s1;
}
二、当函数返回值为对象时的情况分析
----
1、函数返回对象值时返回值为匿名对象
如果一个 函数的返回值...是 类对象值 类型 , 不是 类对象的 引用 或 指针 类型 时 ,
返回的 返回值 是一个 匿名对象 ;
// 函数返回值是 Student 类型的对象
Student fun()
{
Student...fun 函数中 , 函数返回对象值时 , 创建 要返回的 普通对象副本 , 也就是一个 匿名对象 ;
调用析构函数 : m_age = 12 这是 fun 函数执行完毕 , 在函数作用域中的 普通对象...m_age = 12 这是在 fun 函数中 , 调用 有参构造函数 , 创建 普通对象 ;
调用拷贝构造函数 这是在 fun 函数中 , 函数返回对象值时 , 创建 要返回的 普通对象副本 , 也就是一个