简单地说,引用就是给一个单元起一个别名。也就是说,引用与它所引用的变量共享存储单元。
引用主要有以下三种用法:
独立引用;
作为函数参数;
作为函数返回类型;
一 独立引用
pm是m的引用,均代表同一个内存单元;
在声明独立引用时必须对它初始化,这种情况下的别名绑定是永久的。
二 初始化独立引用的几种方式
三 引用作为函数参数
C++ 采用“传值”的方式进行传递参数,在这种情况下,实参和形参是两个不同的单元,在结合时,实参的值将会被拷贝到形参中。
四 C++函数的传值调用
由于“传值”方式的存在,因此试图通过改变形参来改变实参的努力是不会成功的。
五 通过传地址来改变实参
为了解决上述问题,在C语言中,可以通过传递指针的方式来完成。我们可以通过形参指针间接地改变实参。
六 C语言的传指针调用
七 C++传递引用的方式
C++采用了比传递指针更换的方式:
传递引用。在这种情况下,形参的名字将被看做是实参的别名,即形参就是实参本身。此时对形参的改变也就直接改变了是实参。
八 C++语言的引用调用
八 引用作为函数的返回
函数返回引用,实际上返回的是一个存储单元(变量),即“左值”.
如果一个函数返回引用,那么函数调用可以出现在赋值号的左边。这种情况在C语言里是见不到的。