C++ 函数中引用和指针传递示例讲解

c++++ 中,函数参数可以按值、引用指针传递。按值传递仅复制变量的值,按引用传递直接修改原始变量,而按指针传递则通过内存地址修改原始变量。

C++ 函数中引用和指针传递示例讲解

C++ 函数中引用和指针传递示例讲解

什么是引用和指针?

引用:引用就像一个变量的别名,指向变量存储的内存地址。指针:指针是一个变量,存储另一个变量的内存地址。

引用和指针传递

立即学习“C++免费学习笔记(深入)”;

在 C++ 函数中,可以根据需要传递值、引用或指针。

按值传递:将变量的值复制到函数的参数中。按引用传递:将变量的引用传递到函数的参数中。按指针传递:将变量的指针传递到函数的参数中。

按值传递

void swap(int a, int b) {  // 交换 a 和 b 的值  int temp = a;  a = b;  b = temp;}

在这个示例中,ab 按值传递,即它们的值被复制到函数的参数 ab 中。因此,函数内的任何更改都不会影响函数外的原始变量。

按引用传递

void swap(int& a, int& b) {  // 交换 a 和 b 的值  int temp = a;  a = b;  b = temp;}

在这个示例中,ab 按引用传递,即它们在函数内部直接修改原始变量。因此,函数内对 ab 的任何更改都会反映在函数外的原始变量上。

按指针传递

void swap(int* a, int* b) {  // 交换 a 和 b 的值  int temp = *a;  *a = *b;  *b = temp;}

在这个示例中,ab 按指针传递,即它们指向原始变量的内存地址。因此,函数内对 *a*b 的任何更改都会反映在函数外的原始变量上。

实战案例

计算两个整数的最大公约数的函数:

// 按值传递int gcd(int a, int b) {  while (b != 0) {    int temp = b;    b = a % b;    a = temp;  }  return a;}// 按引用传递int gcd(int& a, int& b) {  while (b != 0) {    int temp = b;    b = a % b;    a = temp;  }  return a;}// 按指针传递int gcd(int* a, int* b) {  while (*b != 0) {    int temp = *b;    *b = *a % *b;    *a = temp;  }  return *a;}

以上就是C++ 函数中引用和指针传递示例讲解的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1459885.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月18日 11:53:50
下一篇 2025年12月18日 11:54:18

相关推荐

发表回复

登录后才能评论
关注微信