#include<iostream>
using namespace std;
int & change(int &a)
{
a++;
return a;
}
int main()
{
int b = 4;
int & c = change(b);
c++;
cout << "b = " << b << endl;
cout << "c = " << c << endl;
return 0;
using namespace std;
int & change(int &a)
{
a++;
return a;
}
int main()
{
int b = 4;
int & c = change(b);
c++;
cout << "b = " << b << endl;
cout << "c = " << c << endl;
return 0;
}
最终输出为:
b = 6
c = 6
注意看change()函数的返回值类型,int & 代表返回的是一个引用;如果返回的是int类型的话,int & c = change(b);这条语句会报错,因为int类型无法自动转换成int &引用类型。
这个程序中,变量b,c和形参a攻占同一段内存,所以有一个变量改变,其他两个都会跟着变化。