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;
05-27 02:06