引用的基本概念:
引用,本质上就是指针,所以指针掌握了的话,引用就好理解了。
定义类型 | 定义格式 | 定义含义 |
---|---|---|
指针定义 | int* p=&a | 称为:p指向了变量a |
引用定义 | int& r=a | 称为“r引用了变量a/r是变量a的引用 |
在类型名后面加&号,就是引用类型了。
指针使用:
int a =1;
int* p = &a;
*p = 2;
引用使用:
int a = 1;
int& r = a; //引用,必须定义时就和目标对象绑定
r = 2; //对r的操作,就是对a的操作
printf(“%p”,&r); //打印的就是a的地址,ps. %p即为打印一个指针
对引用对象的操作,其实都是对目标对象的操作。
注意事项:
1)引用在定义的同时,就要与目标对象绑定,指针可以不用。
反例:
int a;
int& r;
r = a; //语法错误
2)引用在定义时就与目标对象绑定,无法解绑!
反例:
int a = 1;
int b = 2;
int& r = a;
r = b ; //错误
此外,引用还可以作为参数、作为返回值,这也是引用的主要用法。
“传引用“和”传地址“本质是一样的,
不额外举例,但是要学习指针和引用,看例子和动手码是少不了的,毕竟这对于c/c++是很重要的一部分。