返回对象和返回对象的引用的区别
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