1 引用的含义

变量名,本身是一段内存的引用,即别名,引用可以看作一个已定义变量的别名

2 引用的语法

data_type &variable_name = value;
 
//data_type表示数据类型,比如int、char等等;
//variable_name表示“引用”的名称;
//value表示被引用的数据。
 
/*
int a = 10;
int &b = a;
*/
  1. 引用必须在定义的同时初始化,并且以后也要从一而终,不能再引用其它数据。

  2. 引用在作函数参数的时候,可以不进行初始化。

  3. 引用的本质是常指针(引用在底层实现上实际是有空间的,因为引用是按照指针方式来实现的)。

3 用法

这部分内容较为简单,具体可以从《轻松搞定C++语言》PDF中复习。

3.1 引用做函数参数

void swpAB (int& a, int &b) {
  int tmp = a;
  a = b;
  b = tmp;
}

3.2 引用做返回值

int& func () {
  static int b = 10;
  return b;
}

int main (int argc, char **argc) {

  func () = 100; /* static变量没有存储在栈区,引用可以当左值 */

  return 0;
}

3.3 指针引用

int getTeacher (Teacher* & myp) {
  ....
}

3.4 const引用

```c++ const int a = 10; const int& pa = a; ``