C++ 引用与引用作为函数的参数

C++ 引用与引用作为函数的参数对一个数据建立一个 引用 他的作用是为一个变量起一个别名 这是 C 对 C 语言的一个重要补充

对一个数据建立一个“引用”,他的作用是为一个变量起一个别名。这是C++对C语言的一个重要补充。

如何建立一个引用

 int a = 5; int &b = a; cout< 
  

以上声明了b是a的引用,并把a,b的值和它们的地址打印出来。经过声明后b是a别名,b与a代表的是同一个变量,占内存中同一个存储单元,具有同一地址。

注意&符号作为取地址符合作为引用声明符的区别,在上述程序中的第2行,&在数据类型后,为引用声明符。而第5、6行,&为取地址符。可以用这个方法作区分:只有在数据类型后&才是引用声明符。

从上述结果可以看到,a与b地址是相同的。

使用引用的一些注意事项:
(1)声明一个引用时,必须同时使之初始化,及声明它代表哪一个变量。(有一个例外,引用作为函数参数时,不需要初始化)
(2)在声明一个引用后,不能再使之作为另一变量的引用。
(3)不能建立引用数组。






引用的作用:

C++加入了在C语言的基础加入了引用机制,那么引用到底有什么用呢?不会只是为了给函数起一个小名吧?显然不是,引用最用要的意义在于作为函数的参数,以扩充函数传递参数的能力。它是如何实现的?这要从C语言参数传递开始说起:

#include 
  
    using namespace std; int main() { void swap(int ,int); int i =3,j = 5; swap(i,j); cout<<"i="< 
    
  

显然值没有带回,i和j的值在执行后没有发生变化。

(2)传递变量的地址

#include 
  
    using namespace std; int main() { void swap(int * ,int*); int i =3,j = 5; swap(&i,&j); cout<<"i="< 
    
  

在程序的第13行,定义的函数的形参是指针,在第6行,调用的函数是传入的函数实参是变量的地址,实现了i和j的交换,但是这种方法不够直观,而且依旧是“值传递”的方式,只不过传递的是变量的地址而已。

#include 
  
    using namespace std; int main() { void swap(int & ,int&); int i =3,j = 5; swap(i,j); cout<<"i="< 
    
  

第13行,形参是声明的引用,注意这个引用并没有初始化,这就是上面提到的特例。而在第7行调用函数的过程中,实现了引用的初始化,这是传入的实参就是变量,而不是数值,所以做到了真正意义上的“变量传递”。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/205466.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午5:58
下一篇 2026年3月19日 下午5:58


相关推荐

  • MacBook安装软件时允许任何来源的软件

    MacBook安装软件时允许任何来源的软件MacBook 安装软件时允许任何来源的软件临时设置允许未知来源的 app 当下载网上的软件并安装时 会安装失败 因为 MacOS 默认只允许安装 AppStore 上的软件这时可以临时允许安装 如下设置开启设置 gt 安全性与隐私 gt 未知来源的 app 这种方式比较安全设置允许任何来源系统偏好设置 gt 安全性与隐私 gt 通用 gt 选择 任何来源 通用 里有时没有 任何来源 这个选项 因为 macOS10 12 以上默认为不显示终端执行显示 任何来源 选项

    2026年3月19日
    2
  • vsftp 用户_共享提示用户账户限制

    vsftp 用户_共享提示用户账户限制背景Oracle全库备份,异地备份在实现异地备份后,由第三方人员登录服务器拉取dmp文件.为了确保安全,创建一个特定ftp账号用于第三方人员使用要求1.可以登录服务器2.可以拉取dmp文件3.仅限在dmp文件的目录下,不能cd其他路径,ls其他目录解决过程yum安装ftp服务[root@78778e06dc0a/]#yuminstallvsftpd-y修改vsftp配置文件,开启限制[…

    2026年3月9日
    4
  • PyCharm 修改 pip 源的方法

    PyCharm 修改 pip 源的方法pycharm 修改 pip 源为清华源 提高下载速度让 PIP 源使用国内镜像 提升下载速度和安装成功率 以后文章更新在 https oldpan me 国内 pip 源 清华大学 https pypi tuna tsinghua edu cn simple 在使用 pycharm 时

    2026年3月18日
    1
  • 如何用ubuntu命令打开pycharm_ubuntu安装pycharm教程

    如何用ubuntu命令打开pycharm_ubuntu安装pycharm教程linux中打开pycharm的方法:方法一:在Linux终端进入pycharm安装路径下的bin目录下,输入如下命令:./pycharm.sh方法二:设置桌面快捷方式,然后通过快捷方式启动。设置快捷方式的方法:终端输入:sudogedit/usr/share/applications/Pycharm.desktop粘贴模板:[DesktopEntry]Type=ApplicationNa…

    2022年8月28日
    8
  • golang 2020激活码(破解版激活)[通俗易懂]

    golang 2020激活码(破解版激活),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    430
  • OpenClaw安装难?摩尔线程AIBOOK算力本一行代码2分钟搞定

    OpenClaw安装难?摩尔线程AIBOOK算力本一行代码2分钟搞定

    2026年3月13日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号