问题描述
- c++的运算符重载冲突问题
-
在一个类中,重载了运算符“+”和“=”;
"+" 运算符返回值是这个类的对象;
当表达式 C = A + B;是否冲突了?
谢谢。
解决方案
A+B 如果不是返回引用的话那么是个临时对象,再将一个对象 调用重载的 = ,我觉得不好冲突啊。
你写的程序冲突了吗?
解决方案二:
注意是不是deep的拷贝了,如果不是deep的拷贝的话,指针类的,&类的,和new有关的时候,可能会delete多次
关键是一个temp的对象离开了语句,就自己销毁了,然后你没有深拷贝就是指向了一个被delete过得区域
时间: 2024-10-07 05:24:59