读书人

if (amp;rhs!=this)解决方法

发布时间: 2014-01-01 18:12:08 作者: rapoo

if (&rhs!=this)

if (&rhs!=this)解决方法                                                                            
[解决办法]
首先,&rhs是对传入的参数取其地址,this代表当前对象的地址
只有当&rhs!=this时才进行后面的操作,也就意味着当rhs和this是同一个对象的时候(地址相同)直接返回
这么做是为了处理赋值操作符中的自我赋值的问题

至于“如果本对象中数组大小与rhs不同”这句话,显然是对if (size!=rhs.size)的解释
[解决办法]
防止一个对象给自己赋值,如果代码设计里不注意会出现问题。

读书人网 >C++

热点推荐