# C++ 返回引用

> 原文： [https://www.programiz.com/cpp-programming/return-reference](https://www.programiz.com/cpp-programming/return-reference)

#### 在本文中，您将学习如何在函数中返回引用，以及如何在程序中有效地使用它。

在 C++ 编程中，不仅可以通过引用将值传递给[函数](/cpp-programming/function "C++ function")，而且还可以通过引用返回值。

要了解此功能，您应该了解以下内容：

*   [全局变量](/cpp-programming/storage-class#global_variable)

* * *

## 示例：返回引用

```cpp
#include <iostream>
using namespace std;

// Global variable
int num;

// Function declaration
int& test();

int main()
{
    test() = 5;

    cout << num;

    return 0;
}

int& test()
{
    return num;
}
```

**输出**

```cpp
5
```

在上面的程序中，函数`test()`的返回类型为`int&`。 因此，此函数返回变量`num`的引用。

返回语句为`return num;`。 与按值返回不同，此语句不返回`num`的值，而是返回变量本身（地址）。

因此，当返回**变量**时，可以像在`test() = 5;`中所做的那样为其分配一个值。

这会将 5 存储到显示在屏幕上的变量`num`中。

* * *

### 返回引用时要记住的重要事项

*   普通函数返回值，但此函数不返回。 因此，您不能从函数返回常量。

    ```cpp
    int& test() {
        return 2;
    }
    ```

*   您不能从此函数返回局部变量。

    ```cpp
    int& test()
    {
        int n = 2; 
        return n; 
    }
    ```