热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C++中的引用运算符及其应用

本文介绍了C++中的引用运算符及其应用。引用运算符是一种将变量定义为另一个变量的引用变量的方式,在改变其中一个变量时,两者均会同步变化。引用变量来源于数学,在计算机语言中用于储存计算结果或表示值抽象概念。变量可以通过变量名访问,在指令式语言中引用变量通常是可变的,但在纯函数式语言中可能是不可变的。本文还介绍了引用变量的示例及验证,以及引用变量在函数形参中的应用。当定义的函数使用引用型形参时,函数调用时形参的改变会同时带来实参的改变。

在C++中提供了一种引用运算符“&”,将某一变量定义为另一个变量的引用变量,改变其中的一个变量两者均会同步变化。


什么是应用变量?

引用变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。在指令式语言中,引用变量通常是可变的;但在纯函数式语言中,变量可能是不可变的。摘自百度百科

①定义一个引用变量

int a;int &b=a; //将b定义为a的引用变量

示例及验证:

#include
int main()
{int a=1;int &b=a; printf("a=%d b=%d\n",a,b);a+=5;printf("a=%d b=%d\n",a,b);b/=2;printf("a=%d b=%d\n",a,b);return 0;
}

②引用多用于函数形参中,当定义的函数使用引用型形参时,函数调用时形参的改变会同时带来实参的改变。

eg:

#include
int main()
{int a,b;void swap(int &x,int &y);printf("请分别输入a和b的值\n");while(~scanf("%d %d",&a,&b)){swap(a,b);printf("a=%d b=%d\n",a,b);}return 0;
}
void swap(int &x,int &y)
{int t;t=x;x=y;y=t;
}

运行结果:



注:上面的swap函数实现的是两个值交换的简单功能,但如果定义函数时如果这样定义:

void swap(int x,int y)
{int t;t=x;x=y;y=t;
}


运行后会发现两个数的值并不会发生改变。

这是错误的原因是形参x,y既作输入型参数,也作输出型函数,而swap(x,y)仅将形参x,y作为输入型参数设计。



推荐阅读
author-avatar
小市民828_719
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有