1.1 引用
1、语法:类型名&引用名=某变量名 e.g. int &b=a;
- 定义:引用则等价这个变量
- 引用名的类型是:类型 &
- 注意事项:
- ①定义引用时,一定要将其初始化成引用某个变量
- ②初始化后,它就一直引用该变量,不会再引用别的变量
- ③引用只能引用变量,不能引用常量、表达式
- ④引用一个引用是合法的 e.g.
int &b=a;int &c=b//legal
2、引用实例:swap函数
c 指针:
void swap(int *a,int *b) { int tmp; tmp=*a; *a=*b; *b=tmp; } swap(&n1,&n2);
c++ 引用:
void swap(int &a,int &b) { int tmp; tmp=a; a=b; b=tmp; } swap(n1,n2);
3、引用可作为函数的返回值
int n=4;
int &f(){return n;}
f()=40;
cout<<n;//output 40
4、常引用
- 语法:const 类型 & 引用名=某变量名 e.g.:
const int &B=A;
- 引用名的类型是 const 类型&
- 不能通过常引用修改其引用的内容
5、引用与常引用的关系
- T& 或者 T 可以初始化const T&的引用
const T和const T&不能初始化T& (除非强制类型转化)
e.g.int A; int &B=A; const int &C=B; const int &D=A; int & E=C;//ILLEGAL const int &F=C;