参数里面的&表示引用型参数
一般的参数传递的时候,形参是实参的副本,也就是说,形参虽然和实参一样,但是在内存中的位置不同
而引用型参数,在函数参数传递的时候,并不要复制参数,形参和实参在内存中是同一个位置,因此修改形参,实参也变化了
& 这里表示引用,说明需要传递变量给这个函数,函数中可以对参数的值进行修改
如果没有 &,修改的就是函数体中的临时变量
————————————————
原文链接:https://blog.csdn.net/Faracall/article/details/88621633
类型标识符 &引用名=目标变量名
#include <iostream>
using namespace std;
int main() {
int num1 = 1, num2 = 2;
int &ref1 = num1, &ref2 = num2; ///引用必须要初始化
cout<<"num1 = "<<num1<<",num2 = "<<num2<<endl;
cout<<"ref1 = "<<ref1<<",ref2 = "<<ref2<<endl;
///修改引用的值将改变其所绑定的变量的值
ref1 = -1;
cout<<"num1 = "<<num1<<",ref1 = "<<ref1<<endl;
///将引用b赋值给引用a将改变引用a所绑定的变量的值,
///引用一但初始化(绑定),将始终绑定到同一个特定对象上,无法绑定到另一个对象上
ref1 = ref2;
cout<<"num1 = "<<num1<<",ref1 = "<<ref1<<endl;
return 0;
}