技术文摘
C++ 函数中引用与指针传递实例讲解
2025-01-09 04:13:48 小编
C++ 函数中引用与指针传递实例讲解
在C++编程中,函数参数的传递方式有多种,其中引用传递和指针传递是两种重要且常用的方式。它们在实现数据交互和操作上有着各自的特点和优势,下面通过具体实例来详细讲解。
首先来看引用传递。引用可以看作是变量的别名,在函数调用时,传递的是实参的引用而非副本。例如:
#include <iostream>
void swapByReference(int& a, int& b) {
int temp = a;
a = b;
b = temp;
}
int main() {
int num1 = 5, num2 = 10;
std::cout << "交换前:num1 = " << num1 << ", num2 = " << num2 << std::endl;
swapByReference(num1, num2);
std::cout << "交换后:num1 = " << num1 << ", num2 = " << num2 << std::endl;
return 0;
}
在上述代码中,swapByReference函数通过引用传递参数,直接对实参进行操作,实现了两个变量值的交换。
再看指针传递。指针存储的是变量的地址,函数通过指针间接访问和修改实参的值。示例代码如下:
#include <iostream>
void swapByPointer(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int num3 = 15, num4 = 20;
std::cout << "交换前:num3 = " << num3 << ", num4 = " << num4 << std::endl;
swapByPointer(&num3, &num4);
std::cout << "交换后:num3 = " << num3 << ", num4 = " << num4 << std::endl;
return 0;
}
这里的swapByPointer函数接收两个指针作为参数,通过解引用操作来修改指针所指向变量的值。
引用传递和指针传递的主要区别在于语法和使用方式。引用传递更直观、简洁,使代码更易于理解和维护;指针传递则更灵活,适用于复杂的数据结构和动态内存分配等场景。
在C++编程中,合理选择引用传递和指针传递方式,能够提高程序的效率和可读性,更好地实现函数间的数据交互和操作。
- DLF 与 DDI 一站式数据湖构建及分析的最优实践
- HashMap 面试的考察要点
- Python 打造“盯盘机器人”并实现邮件通知
- 基于 Spark、Kafka 与 k8s 打造下一代数据管道
- SpringBoot 接口快速开发框架推荐
- TIOBE 8 月榜单:Prolog 时隔十五年再崛起,Python 抢占 R 市场份额
- Elastic 对 Elasticsearch 客户端连接到 OpenSearch 的限制
- 谈谈 Go 语言的三色标记法
- 二叉树的全部路径:递归与回溯之外
- 谷歌宣称或创造突破物理学的“时间水晶”
- 掌握 90%的 JS 手写题,面试不再慌
- 新的存储方式竟能节省如此多内存?
- 深入剖析 C 语言中的野指针
- JavaScript 流行 Rust 受喜爱 Clojure 赚钱 那 PHP 呢?
- WKWebView 开发与使用的超详细经验