【发布时间】:2016-02-25 20:07:30
【问题描述】:
Pareja& operator+ (const Pareja ¶metro1, const Pareja ¶metro2) {
return *(new Pareja(parametro1.a + parametro2.a, parametro1.b + parametro2.b));
}
我不明白为什么我们在Pareja& 中使用“&”和在return *(... 中使用“*”
当我们必须使用它时,何时不用。
当我阅读有关重载运算符的信息时,这个“主题”是已知的。
【问题讨论】:
-
您会在任何 C++ 课程中找到答案。再加上这段代码 sn-p 很糟糕,并且故意泄漏内存。
-
@YSC 非常感谢您的建设性意见。
-
@YSC:这不一定会泄漏内存——尽管它确实需要相当小心以避免其泄漏内存。
-
@JerryCoffin 过分的关心,要求删除返回值的别名。甚至
a + b + c泄漏。 -
@YSC:是的——别误会我的意思。我并不是说这是一个好的设计。我只是说它是(几乎)可以以不泄漏内存的方式使用它。
标签: c++ operators overloading