如果返回的是个对象 那么 在调用该函数的时候先由主函数开辟内存然后当做参数将该地址存进去。
如果参数为对象然后调用的时候将tmp拷贝构造给那个空间。(造成大量的析构和构造函数)
解决方法
首先啊参数尽量是引用;减少形参的构造和引用
第二点如果返回对象尽量返回临时对象(因为当return的时候直接构造零时变量在main中减少了临时变量的生成)
如果使用的是初始化拷贝构造 返回的是临时变量的话的 直接是拷贝构造给该对象(不需要主函数的临时量)
如果返回的不是零时量的话如果初始化也调用拷贝构造函数
主要总结三点
1.参数为引用
2 返回值为临时变量
3 直接使用返回值去初始化对象