如果你想学C/C++可以私信小编“01”获取素材资料以及开发工具和听课权限哦!
引用
首先我们来看引用怎么使用,代码如下:
#include int main(){ int val = 10; int &refVal = val; std::cout << val << std::endl; std::cout << refVal << std::endl; return 0;}
输出结果相信我们大家都很清楚了,没错,输出了两个10
我简单的修改一下代码,如下所示:
#include int main(){ int val = 10; int &refVal = val; std::cout << val << std::endl; std::cout << refVal << std::endl; val = 18; std::cout << val << std::endl; std::cout << refVal << std::endl; return 0;}
此时的输出结果应该是怎么的呢?相信大家心里已经有了答案了。
那么,为什么会这样呢?我明明修改的是val的值呀,可为什么refVal的值也跟着变了呢?其实引用就相当于一个变量的别名。如果你不相信的话,请看下面的代码,这次改变我不再改变val的值,而是 改变refVal的值,看看结果会是怎样的呢?
#include int main(){ int val = 10; int &refVal = val; std::cout << val << std::endl; std::cout << refVal << std::endl; val = 18; std::cout << val << std::endl; std::cout << refVal << std::endl; refVal = 88; std::cout << val << std::endl; std::cout << refVal << std::endl; return 0;}
还是直接公布答案吧。
相信大家看到这个结果之后,对引用是不是有了一个很深的理解了呢?
对!引用其实就是一个变量的别名!
那么既然说引用是一个变量的别名,那么它们的地址一样吗?大家可以先猜一下,然后再看输出结果,测试代码如下:
#include int main(){ int val = 10; int &refVal = val; std::cout << val << std::endl; std::cout << refVal << std::endl; std::cout << "val 地址:" << &val << std::endl; std::cout << "refVal 地址:" << &refVal << std::endl; return 0;}
输出的地址居然相同,所以更加说明了引用就是变量的另一个别名。
到此,