c++引用的使用以及实质
变量名,可以说是一段连续存储空间的别名,只有拿到变量名,才可以通过此变量名去修改内存空间中的值。
在c++中,引用可以看作一个已定义变量的别名,但是这个别名中存放的内存地址和变量名中的地址是一摸一样的。所以足以可见引用就是变量的别名。
普通引用在使用时必须进行初始化,具体原因探究下面在谈。当引用用于函数参数时,不用初始化。
1. 普通用法: int a=10; int &b=a; b=300;
2. 函数参数用法: sum(int &a,int &b) //相当于将a和b的对象传递过来
引用在c++底层是通过常指针实现了,这也解释了为什么普通引用为什么必须初始化的原因了。相当于int *const a;
效果图如下。