C++是面向编程的一门语言
引用:就是变量的别名,和该变量共享一块内存空间,对引用的的操作就是对变量本身的操作
格式:数据类型 &引用名 = 目标变量名
int a = 10;
int &b = a;
b = 20;//此时a也为20
特点:1.定义引用时必须初始化(定义变量、定义指针不用初始化)
2.一个变量可以有多个别名,一个引用名不能对应多个变量
3.引用可以多级引用,但是只能一级一级的引用
(int &d = c;int &c = b;int &b = a;a = 30;)
4.const修饰的引用为常引用,常引用的值只能读不能写(const int &b=a;)
作用:主要用来传递函数的参数和返回值。在c++中,函数的参数和返回值的传递方式有三种:值传递 地址传递 引用传递
&是取地址符还是引用符?若&前有数据类型,&就是引用符
指针和引用的区别和联系:
1、指针是一个实体,需要分配内存空间。引用只是变量的别名,不需要分配内存空间。
2、引用在定义的时候必须进行初始化,并且不能够改变。指针在定义的时候不一定要
初始化,并且指向的空间可变。(注:引用的值不能为NULL) int &b=NULL;//错
3、有多级指针,int **p=&b;有多级引用,只能有一级一级的引用。int &b=a;int &c=b;
4、指针和引用的自增运算结果不一样。(指针是指向下一个空间,引用时引用的变量值加1)
int &b=a;
b++;//a+1
5、sizeof 引用得到的是所指向的变量(对象)的大小,而sizeof 指针得到的是指针本身的大小。
6、引用访问一个变量是直接访问,而指针访问一个变量是间接访问。