C++中的引用处理
目录
1.引用的基本用法
引用是C++对C的重要扩充。在c/c++中,指针用法基本一致。但是C++增加了另一种给函数传递地址的途径,这就是引用传递,也存在去其他语言,并不会是C++独有。
1.1 引用的实质
原类型 &别名 = 旧名
1.2 引用的用法
注意事项:
引用一旦初始化,不能更改引用的指向
引用定义时必须初始化 不能引用NULL
引用可以引用任意类型包括数组
&在等号的左边是引用,在等号的右边是取地址
代码
2.函数中的引用
引用可以作为函数的形参 ,不能返回局部变量的引用
在C语言中我们记得我们可以用指针解决函数不能交换值的问题。
在C++中可以也使用引用很好的解决这个问题
如果想开辟数组地址,用指针的做法是
用引用可以这样做
能不能返回一个变量的引用 看这个变量的空间是否被释放了
3.引用的本质
引用的本质是一个指针常量
type &b = a; 编译器底层这么实现的: type *const b = &a
比如你写
int &b = a; // 编译器优化为 int * const b = &a
4.指针的引用
套用引用公式: type &q = p
如果想改变p的内容,函数传递的时候按照指针的方法传的是地址,如下: get_mem(&p);
如果你想用引用的方法直接传就行
void test03()
{
int *p = NULL;
get_mem(&p);
get_mem_ref(p);
}
5.常量引用
const type &p = q;
常量引用代表不能通过引用去修改引用标识的那块空间
如果你再去 让 b = 1000;就是错误的
虽然不能引用常量,但是可以加const来引用
改为
原理上是 等价于,相当于让tmp = 1
- 点赞
- 收藏
- 关注作者
评论(0)