1.概念
&既可以标识取地址,也可以标识引用。取地址后,变量里面存的就是另外变量的地址;引用,只是代表的别名,依旧是原来的变量,但是可以实现在函数内对变量的双向操作。一个变量可以有多个引用,但是一个引用只能对应一个变量。
2.区分与区别
&前面有变量类型的,则为引用,例如int&;没有则为取地址,例如int t=&a. 引用不占多余空间,只是名称替换;取地址,即指针则需要多一个空间来存放地址。因为引用不存在自己的独立地址,也就是必须依靠其他实际存在的变量存活,因此必须有非void的变量类型。
3.读法
(此部分为我独创,方便我记忆)
int& b=a;//读作 引用int类型b指向a
int* p=&a;//读作 指针int类型p指向a的地址
总结语法:【引用/指针】+【数据类型】+【变量名称】+指向……
4.几个例子
int a;int& b=a;//b是a的引用,b实际就是a
int a;int& b=a;int& c=b;//c是b的引用,b是a的引用,c实际还是a
int a;int* p=&a;//指针p指向a的地址,p是a的地址,*p是取出存储在地址(p)中的对应值,*p的值实际就是a
int a;int* p=&a;int* &p2=p;//p是a的地址,p2是p的引用,p2实际还是a的地址(这里可以理解为引用的类型为 整型指针类型)
int a;int *p=&a;int** pp=&p;//p是a的地址,pp是p的地址,*pp是p的值==a的地址,**pp是a的值(感觉在无限套娃哈哈哈)
5.其他
关于引用的更多用法