跳到主要内容

C++ 通过引用返回

提示
  1. 通过引用返回的概念:在C++编程中,不仅可以通过引用将值传递给函数,还可以通过引用返回值。
  2. 返回引用的工作方式:当函数的返回类型是引用时(例如int&),这个函数返回的是变量的引用,而不是值。因此,可以将值赋给通过引用返回的变量。
  3. 返回引用时需注意的事项:在通过引用返回时,不能从函数返回局部变量的引用,也不能返回常量。

在 C++ 编程中,不仅可以通过引用向函数传递值,还可以通过引用返回值。

要理解这个特性,你需要了解:

示例:通过引用返回

#include <iostream>
using namespace std;

// 全局变量
int num;

// 函数声明
int& test();

int main() {

  // 给 num 变量赋值 5
  // 相当于 num = 5;
test() = 5;

cout << num;

return 0;
}

// 函数定义
// 返回 num 变量的地址
int& test() {
return num;
}

输出

5

在上面的程序中,函数 test() 的返回类型是 int&。因此,这个函数返回变量 num 的引用。

返回语句是 return num;。与通过值返回不同,这个语句不返回 num 的值,而是返回变量本身(地址)。

所以,当变量被返回时,可以像 test() = 5; 那样给它赋值。

这会将5存储到变量 num 中,然后显示到屏幕上。

在通过引用返回时需要记住的重要事项。

  • 普通函数返回值,但这个函数不返回。因此,你不能从函数中返回一个常量。
int& test() {
return 2;
}
  • 你不能从这个函数中返回一个局部变量。
int& test() {
int n = 2;
return n;
}