将一个对象赋值给另外一个对象 )
【C++】拷贝构造函数调用时机 ② ( 对象值作为函数参数 | 对象值作为函数返回值 )
博客中 , 分析了 拷贝构造函数 的调用时机 ;
" 拷贝构造函数 " 又称为...// 自动调用拷贝构造函数
Student s2 = s1;
③ 对象值作为函数参数 : 类的实例对象 以值的方式 传递给函数 , 不是以 指针 或 引用 的方式 ;
// 定义函数, 接收 Student...s(12, 190);
return s;
}
上述函数中执行的操作分析 :
首先 , 调用 Student 类的 2 参数构造函数 , 创建 Student 类普通对象 , 初始化变量 s ;
然后..., 返回 匿名对象 , 此时 调用 拷贝构造函数 , 将 普通对象 的值 拷贝给 匿名对象 ;
再后 , 函数执行完毕 , 普通对象 需要被 销毁 , 此时调用析构函数 , 销毁 普通对象 ;
2、处理...fun 函数中 , 函数返回对象值时 , 创建 要返回的 普通对象副本 , 也就是一个 匿名对象 ;
调用析构函数 : m_age = 12 这是 fun 函数执行完毕 , 在函数作用域中的 普通对象