C++ “的作用是什么?”&&引用;及*&引用;关于运算符重载?

C++ “的作用是什么?”&&引用;及*&引用;关于运算符重载?,c++,operators,overloading,C++,Operators,Overloading,我不明白为什么我们在Pareja&中使用“&”like,在return*中使用“*”like(… 当我们必须使用它时,当我们不使用它时 当我读到关于重载运算符的文章时,我想到了这个“主题”是已知的。您希望对对象进行操作,而不是对对象的副本进行操作,因此这就是为什么这里有“与”符号。Const关键字表示您不会修改它们的值。星号“*”表示取消引用指向新创建对象的指针,在这种情况下会导致内存泄漏,正如YSC前面所说的那样。 不允许创建新对象,然后不将其存储在任何容器/指针中。 你可以对他们的一生负责。

我不明白为什么我们在
Pareja&
中使用“&”like,在
return*中使用“*”like(…

当我们必须使用它时,当我们不使用它时


当我读到关于重载运算符的文章时,我想到了这个“主题”是已知的。

您希望对对象进行操作,而不是对对象的副本进行操作,因此这就是为什么这里有“与”符号。Const关键字表示您不会修改它们的值。星号“*”表示取消引用指向新创建对象的指针,在这种情况下会导致内存泄漏,正如YSC前面所说的那样。 不允许创建新对象,然后不将其存储在任何容器/指针中。
你可以对他们的一生负责。

你会在任何C++课程中找到答案。另外这个代码片段是蹩脚的,故意泄露内存。@ YSC非常感谢你的建设性评论。@ YSC:这不一定会泄露内存——尽管它确实需要相当多的小心来避免它的内存泄漏。@ Jyycof Fuffin过量的汽车。e、 要求删除返回值中的别名。甚至
a+b+c
都会泄漏。@YSC:是的——别误会。我不是说这是一个好的设计。我只是说(几乎)不可能以不泄漏内存的方式使用它。
Pareja& operator+ (const Pareja &parametro1, const Pareja &parametro2) {
    return *(new Pareja(parametro1.a + parametro2.a, parametro1.b + parametro2.b));
}