引用变量是一个别名,它是某个已存在变量的另一个名字。
它类似于一个软件的运行程序和他的快捷方式的关系,快捷方式可以快速的定位到运行程序的地址并对地址中存放的数据做变更。
写两个例子
#include<iostream>
using namespace std;
void Plus(int i);
int main()
{
int a=1;
Plus(a);
cout<<a<<endl;
system("pause");
}
void Plus(int i)
{
i++;
}
这种情况下,输出的a还是1,因为在函数中,创建了一个变量,是把a的值赋予了这个新的变量,而不是改变了a的值,变量的作用域仅存在于大括号里面。因此,在函数运行完之后,a的实际值并没有发生改变。
#include<iostream>
using namespace std;
void Plus(int& i);
int main()
{
int a=1;
Plus(a);
cout<<a<<endl;
system("pause");
}
void Plus(int& i)
{
i++;
}
在这个函数中,创建的变量是一个引用,当把a的值传入到函数中,其实是把a的地址指向的那个变量传给了函数,而不是重新开创了一个新的变量。i是指a的地址指向的变量,i++指的是a的地址指向的变量+1,也就是a+1。