返回对象和返回对象的引用的区别
Mytime operator*( int t) // 生成临时对象
{
return *this;
}
Mytime & operator*( int t) // 不生成临时对象
{
return *this;
}
二者的区别就是
Mytime operator*( int t) copy了*this到一个temp对象,返回temp对象,然后释放了temp 对象,(或许到以后释放);
Mytime & operator*( int t)返回的是*this的左值即原局部对象的地址, 这里的this并非指向临时对象,所以是安全的.
二者的区别就是
Mytime
Mytime
本文对比了返回对象和返回对象引用两种方式的区别。通过具体的代码示例解释了两者在资源管理上的不同:前者会创建并返回一个临时对象,后者则直接返回当前对象的引用。
1674

被折叠的 条评论
为什么被折叠?



