C++ 引用

引用可以简单理解为一个实体的别名,这个实体可以是变量,也可以是一个常量和字面量,另外使用它的最大好处是在内存中不会生成副本,提高了数据的传递效率。

#include <string>
using namespace std;

int main() {
  int a = 1;
  int &r1 = a; //r1 对 a 的引用
  const int b = 10;
  const int& r2 = b;  // r2 对常量 b 的引用
  const int& r3 = 30; // r3 对字面量 30 的引用
  const string& r4 = "hello"; // r4 对字面量 "hello" 的引用
  return 0;
}

定义

类型 &引用符号 = 实体

  1. 变量引用
    比如说有一个变量 int a = 1; 那么想要产生一个对变量 a 的引用r1, 那么可以这样写,int &r1 = a;
  2. 常量引用 常量定义和变量有些区别, 引用的类型必须带 const;比如说定义一个常量 const int b = 10; 那么引用的定义必须是这样: const int &r2 = b;
  3. 字面量引用 字面量引用也跟常量引用一样,类型也必须使用 const 来修饰,比如 const int& r3 = 30;

注意

引用的使用场景

总结

引用就是高效安全使用内存的一种方式,避免内存重复分配,相比指针,更加安全「加上 const 只读」和方便