c++函数名后面加&什么意思,比如说void func&(Figure &p)。Figure是一个类,func是定义在类外的一个函数,不是Figure类的成员函数。
&是保留符号不能使用在变量名和函数名
int b;
int & a = b;
此时a 引用 b,它类似于指针,但是a并没有存储单元
void abc(int & a);
当作为参数时,如果你在函数内修改 a 的值,那么实参也会改变
void abc(const int &a);
当然,你只需要在前面声明它在该函数为只读时就不能修改了
通常引用是用来优化传参的,毕竟它传递时不会复制一份实参
你可能会发现有这样一种写法
这叫右值引用,它用来延长返回值的生存期
我们都知道 当返回的时候将会复制2次
第一次返回值复制给临时值,然后再复制给接收的值
如果使用了右值引用,那么就能直接使用临时值,而不需要二次复制