引用:
不是定义一个新的变量,而是给一个已经定义的变量重新起别名
类型&引用变量名 =已经定义变量名
引用的特点
1。一个变量可取多个别名
2。引用必须初始化
3。只能在初始化的时候引用一次,不能改变为再引用其他的变量
const 引用 只能缩小范围不能放大
注意
{
double a=1.1;
//int &b=a; //a是double类型,b是int类型,a赋值给b要生成一个临时变量
//b引用的是常性的临时变量,所以不能赋值
const int &c=a;
}
引用和指针的区别及联系
1.引用只能在定义时初始化一次,不能再指向其他变量,指针变量的值可变
2.引用必须指向有效的变量,指针可以为空
3.sizeof指针对象和引用对象的意义不一样,
sizeof引用 --- 指向的变量的大小
sizeof指针 --- 对象地址的大小
4.指针和引用的自增(++)和自减(--)意义不一样
5.相对来说引用比指针更安全
剖析4
引用与指针的自增
#include<iostream>
2 using namespace std;
3 int main()
4 {
5
6 int a=0;
7 int &b=a;
8 int *p=&a;
9 cout<<"b : "<<b<<endl;
10 b++;
11 cout<<"p : "<<p<<endl;
12 p++;
13 cout<<"b++: "<<b<<endl;
14 cout<<"p++: "<<p<<endl;
15 return 0;
16 }
(引用的自增)b++: 相当于a++ ,即值++。
(指针的自增)p++: 指向a后面的内存, 即下一个位置。
(*p)++ :相当于a++