函数引用
小弟我刚学C++不久,书中介绍的C++引用时不太详细,很难理解,遇到这样一个问题
#include <iostream.h>
int &f(int &i)
{
i+=10;
return i;
}
int main()
{
int k=0;
int &m=f(k);
cout < <k < <endl;
m=20;
cout < <k < <endl;
return 0;
}
请问输出结果是不是10,20
怎么分析啊
哪位大哥给我解释解释,谢谢!!!!
[解决办法]
引用就相当于变量的另一个别名。
就象“蟑螂”和“小强”是指一个东西一样。
所以,在这里,m和k以及函数中的i,是指向同一个内存。
开始k=0;
然后i+=10;所以m,k,i都为10了。
然后m=20;所以m,k都为20了。