引用基本用法(所谓的引用,就是取别名)
引用是c++对c的重要扩充。在c/c++中指针的作用基本都是一样的,但是C++增加了另外种给函数传递地址的途径,这就是按引用传递( pass-by-reference),它也存在于其他一些编程语言中,并不是c++的发明。
■变量名实质上是段连续内存空间的别名,是一个标号门牌号
程序中通过变量来申请并命名内存空间
■通过变量的名字可以使用存储空间
对一段连续的内存空向只能取一个别名吗?
C++中新增了引用的概念,引用可以作为一个已定义变量的别名。中
引用必须初始化
b已经初始化了,不可以再被c修改了
给数组建立引用
先定义一个类型,然后定义一个引用 (typedef BYTE T_IMSI[8]; )
注意事项:
如下代码,VS中,第一次可以打印,但是后面再打印就会报错,因为引用了返回的局部变量时,编译器做了优化
局部变量销毁后还再使用,很危险
3. 返回引用(返回值是引用类型),可以作为左值
4. 引用的本质是指针常量,指针常量必须要初始化,所以引用必须要初始化(const离谁近,修饰谁)
-----编译器自动帮忙转换(取*,加& ....等等)
5. 指针的引用
eg. 不用引用的方法(二级指针)
eg. 指针引用(替换**二级指针),更简洁,好理解