C++ 基础进阶:引用、内联函数与 nullptr
在掌握了输入输出、缺省参数及函数重载后,我们继续深入 C++ 的核心特性。本文将重点讲解引用机制、内联函数的优化原理以及 nullptr 空指针常量的使用规范。
引用机制
概念与定义
引用并非定义新变量,而是为已存在的变量起一个别名。编译器不会为别名开辟新空间,它与原变量共享同一块内存区域。就像土豆和马铃薯是同一个东西一样,引用的语法如下:
类型& 别名 = 变量
示例:
int a = 10;
int& num = a; // num 是 a 的别名
此时 num 的值与 a 一致。注意,在 C++ 中 & 用于引用时代表取别名,而非 C 语言中的取地址。
核心特性
1. 必须初始化
引用在使用前必须绑定到具体的对象,不能悬空。
#include<iostream>
using namespace std;
int main() {
int a = 10;
int& num = a; // 正确
// int& num; // 错误!未初始化
return 0;
}
通俗理解:"有人叫小明"是不明确的,但"张三的外号叫小明"就明确了。
2. 多引用指向同一实体
一个变量可以有多个别名,它们的地址完全相同。
int a = 10;
int& num1 = a;
int& word = a;
int& word2 = word;
// cout << &a << endl; // 地址均相同
3. 引用不可重新绑定
一旦引用绑定到某个变量,就不能再指向其他变量。
int b = 10;
int a = 20;
int& num1 = b;
// int& num1 = a; // 错误!重复定义且试图改变指向


