请教c++函数返回值为引用的问题

2024-11-09 06:23:43
推荐回答(2个)
回答1:

第一个程序b是a的引用,第二个程序a和b没有引用关系,是两个没有关系的变量。看看下面这两个程序,只是在你的程序上各加下几句。
1.
#include
using std::cout;
using std::endl;
int & B(int &n)
{
n++;
return n;
}

int main()
{
int a = 10;
int & b = B(a);
cout << b << endl;
cout << a << endl;
b = 30;
cout << b << endl;
cout << a << endl;
}
2.
#include
using std::cout;
using std::endl;
int &B(int &n)
{
n++;
return n;
}

int main()
{
int a = 10;
int b = B(a);
cout << b << endl;
cout << a << endl;
b=30;
cout << b << endl;
cout << a << endl;
}

回答2:

一个值改变了 那是引用即别名 另一个则没有