C++引用详解:核心概念、与指针三大差异及函数参数/返回值应用
引用是已存在变量的别名。初始化绑定后,变量名与引用名等价访问同一内存。
引用 vs 指针:三大核心差异
无空引用:引用必须绑定合法存储,不存在
NULL引用。指针可为nullptr。不可重绑定:初始化后永远指向同一对象。指针可随时指向新对象。
必须初始化:声明即绑定。指针可延后初始化。
创建引用
将变量名视为内存位置的标签,引用是贴在同一位置的第二标签。示例:
int i = 17;
int& r = i; // 读作:r是绑定到i的int引用
完整演示:
#include <iostream>
using namespace std;
int main() {
int i; double d;
int& r = i; // int引用绑定i
double& s = d; // double引用绑定d
i = 5;
cout << "Value of i : " << i << endl;
cout << "Value of i reference : " << r << endl;
d = 11.7;
cout << "Value of d : " << d << endl;
cout << "Value of d reference : " << s << endl;
return 0;
}
输出:i=5, r=5, d=11.7, s=11.7,验证引用与原变量同步。
引用的两大核心应用场景
| 序号 | 概念与说明 |
|---|---|
| 1 | 引用作为函数参数 比值传递更安全高效,避免拷贝开销,且语法上如同操作原变量。 |
| 2 | 引用作为返回值 函数可返回引用,延续对象生命周期,支持链式调用(如 |
后续章节将深入讲解这两大用法的细节与陷阱。
C语言
- 深入理解 C++ 数据类型:基础类型、修饰符与最佳实践
- 掌握 C++ 运算符:六大类型全解析与实战示例
- C++ 注释最佳实践:编写可读、可维护代码的注释艺术
- C++构造函数详解:默认、参数化与拷贝构造函数
- C++ 类模板实战指南:编写灵活的类型无关代码
- C++编程语言:核心特性全景解析
- C++常量与字面量完全手册:类型、语法与最佳实践
- C++运算符大全:算术/关系/逻辑/位/赋值/杂项与优先级结合性
- C++数值类型实战指南:基本类型、数学函数与随机数生成
- C++引用详解:核心概念、与指针三大差异及函数参数/返回值应用
- C++模板编程指南:泛型编程基石与函数/类模板实战
- C++预处理器指令详解:#define宏、条件编译、#/#运算符与预定义宏