📅  最后修改于: 2023-12-03 15:14:04.917000             🧑  作者: Mango
C++通过引用返回
在C++中,返回函数值时可以使用引用(&),可以通过引用返回函数中的值。引用返回意味着在函数中所返回的值是存在于调用者的变量中的,这意味着我们可以直接在一个函数中修改调用函数中的变量。
函数通过引用返回值的方法,可以使代码更加简介易懂,同时在处理大型结构时也能够大幅提高代码效率,因为传递引用比复制结构要更快。
引用返回的函数必须按如下方式声明:
Type& function_name( parameters )
{
...
}
这包括返回类型、函数名称和参数列表。返回类型是一个类型名称的引用。类型名称必须存在于函数定义的作用域中,或者定义的作用域在函数定义之前。
使用引用返回的函数示例:
#include <iostream>
#include <ctime>
using namespace std;
// function to generate and return random numbers.
int& getRandom( )
{
static int r;
// set the seed
srand( (unsigned)time( NULL ) );
r = rand();
cout << "随机数为: " << r << endl;
return r;
}
// main function to call above defined function.
int main ()
{
// 调用 getRandom 函数
int& r = getRandom();
cout << "第一次随机数为: " << r << endl;
cout << "第二次随机数为: " << getRandom() << endl;
return 0;
}
输出结果:
随机数为: 10935
第一次随机数为: 10935
随机数为: 26192
第二次随机数为: 26192
在上面的示例中,getRandom() 函数包含了一个静态的局部变量 static int r,它在函数内部初始化和修改,在函数外部提供对它的引用。对 getRandom() 的第一次调用返回一个随机数,并将该数存储在由该函数定义的静态变量中。对getRandom()的第二次调用产生了一个新的随机数,并替换先前存储的值。
引用返回的注意事项: