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