C++中为什么重载前置++运算符要加个&?

2025-05-19 05:05:13
推荐回答(4个)
回答1:

1、因为重载自加运算符后可以返回对象的引用, 以方便在表达式中连续使用。
举个例:
cout<<是经常用的,其实是重载了<<这个操作符。如果不返回引用,cout<
2、引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。 引用的声明方法:类型标识符 &引用名=目标变量名。

回答2:

这里返回对象的引用, 可以连续使用。
举个例子 cout<<是我们经常用的吧
其实是重载了<<这个操作符。
如果不返回引用
cout<如果返回自身的引用 cout<就是这个意思吧。好多重载操作符,作用其实都是这样的。
还有 "="的重载
返回引用的目的 显然就是 方便写成 a = b = c;
为什么可以这样 其实是a = (b = c);
b=c返回的是b的引用,然后再继续 a = b ;如果不反回自身的引用,显然就不行了!

回答3:

Complex& Complex::operator++() // 返回一个引用即代表当前对象本身
{
++real;
return *this; // 返回当前对象(立即可体现出来前置++的值)
}

Complex Complex::operator++(int)
{
return Complex(real++, image); // 这里只是返回一个对象的副本。不能体现real++后的值(因为是后置++),所以后置++只能先取值。然后再++
}

回答4:

& 代表引用,形参是引用(非const型)时,就是将该对象自己传递进函数了返回值是&时用在运算符的返回值是左值时,常用有这几个:所有的赋值(包括复合赋值),前缀自加自减,下标运算符