Skip to content

引用 ​

引用是已定义变量的别名,主要用途是用作函数的形参,通过将引用变量用作参数,函数将使用原始数据而不是其副本。

cpp
int a {100};
int& b {a}; // b 是对 int 型变量 a 的引用
b += 2;         // 等价于 a += 2;
// 引用不能更改,此操作相当于为  赋值 9.0,a = 9
int c = 9; b = c; 

// 引用的地址是指向原始变量的一个指针
int* ptr1 {&b}; // ptr1 = ptr2
int* ptr2 {&a};

  • 引用在创建时必须被初始化,指向一个已存在的对象,不存在空引用。
  • 引用一旦被初始化,将一直保持与其初始对象的绑定,不能改变为另一个对象的引用。
  • 引用主要用于函数参数和返回值,以及类的成员变量等场景,以提供对原始数据的直接访问,从而提高程序的效率和可读性。

引用作为函数参数 ​

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

int a = 20, b = 30;
swap(a, b);

引用作为函数返回值 ​

函数返回的是一个 变量的别名,而不是值的拷贝。

cpp
int& getElement(int arr[], int index) {
    return arr[index];
}

引用用于类对象 ​

cpp
MyClass obj;
MyClass& ref = obj;
ref.doSomething(); // 相当于 obj.doSomething()