在复制构造函数和“=”操作符中,需要判断是否是自赋值以防止,对同一对象先释放内存再使用造成内存错误。
判断两个对象是否相等,不外乎两种形式:
比较指针,比较对象。
比较指针,其实是判断两个对象是否是同一个对象,占用的是否是同一块内存,这样效率是很高的,如果只是防止在赋值函数里面把自身已经释放后,又作为右值使用,直接判断指针基本上是可以了;
比较对象,其实是调用对象的“==”操作符函数,按照既定的相等规则返回判断结果,指针相等时,判断对象势必也是相等的,如果没有自定义的“==”操作符,编译会通不过的。
-------------------------------------------------------------------------------------end--------------------------------------------------------------------------------
原文链接: https://www.cnblogs.com/ripya/archive/2012/06/06/2537986.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/52102
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!