最近看到了一段程式码片段,如下:
CForeign::CForeign(const CForeign& Foreign)
{
if (this != &Foreign) // 请问这里是否恒成立呢?
{
...
}
}
我自己是觉得那个if没必要,因为一定会成立。
不过,其他三个人都认为那个if是会有不成立的可能性存在的。
我请他们提示我有什么情况下是不成立的呢? 他们只说了 new 的情况下或许有可能。
但是他们暂时还想不出不成立情形的程式码就是了。
所以,想请教大家的看法。谢谢唷!
注: 无特别的 operator overloading
※ 编辑: yayax (220.129.233.62), 06/21/2014 09:07:59