C++判断自赋值的方法

在复制构造函数和“=”操作符中,需要判断是否是自赋值以防止,对同一对象先释放内存再使用造成内存错误。

判断两个对象是否相等,不外乎两种形式:

比较指针,比较对象。

比较指针其实是判断两个对象是否是同一个对象,占用的是否是同一块内存,这样效率是很高的,如果只是防止在赋值函数里面把自身已经释放后,又作为右值使用,直接判断指针基本上是可以了;

比较对象其实是调用对象的“==”操作符函数,按照既定的相等规则返回判断结果,指针相等时,判断对象势必也是相等的,如果没有自定义的“==”操作符,编译会通不过的。

-------------------------------------------------------------------------------------end--------------------------------------------------------------------------------

转载于:https://www.cnblogs.com/ripya/archive/2012/06/06/2537986.html

你可能感兴趣的:(C++判断自赋值的方法)