本章目录:
前言
C++ 中的引用(Reference)是一个强大且灵活的特性,它为程序员提供了一种简便的方式来直接操作已有变量,而不需要额外的内存分配。理解引用的工作原理,对于编写高效且安全的 C++ 代码至关重要。本文将深入探讨 C++ 中引用的基本概念、引用与指针的区别,以及引用在实际编程中的应用。
什么是引用?
引用是某个已有变量的别名。在 C++ 中,一旦你为一个变量声明了引用,它就变成了该变量的另一种名字。通过引用,你可以使用原变量的名称或引用名称来访问和修改其值。
例如:
int i = 17;
int& r = i; // 'r' 是 'i' 的引用
在上面的代码中,r
是 i
的引用。可以把 r
当作 i
的别名来使用。
引用与指针的区别
引用和指针在表面上看起来很相似,都是用于间接操作数据的方式。但它们在底层机制和语法上有着显著的差异。这里列出了三点关键的不同:
- 引用不可为空:一旦引用被初始化,它就必须绑定到一个有效的内存地址,而指针可以指向
nullptr
(空指针)。 - 引用不可改变:引用一旦与某个变量绑定,它就不能再指向另一个变量,而指针可以在程序的任何时候重新指向不同的对象。
- 引用必须初始化:在声明引用时,必须立即将其初始化为一个有效的变量,而指针则可以在任何时候进行初始化。
如何在 C++ 中创建引用?
在 C++ 中,创建引用的语法非常简单。只需要在变量类型后面加上一个 &
符号,就可以声明引用类型。需要注意的是,引用在声明时必须初始化。
示例:简单的引用声明与使用
#include <iostream>
using namespace std;
int main() {
int i = 5;
double d = 11.7;
// 声明引用变量
int& r = i;
double& s = d;
// 使用原始变量和引用进行访问
cout