C_函数中引用调用优越性

C_函数中引用调用优越性

ID:38226849

大小:195.69 KB

页数:3页

时间:2019-06-01

C_函数中引用调用优越性_第1页
C_函数中引用调用优越性_第2页
C_函数中引用调用优越性_第3页
资源描述:

《C_函数中引用调用优越性》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、2004年8月安庆师范学院学报(自然科学版)Aug.2004第10卷第3期JournalofAnqingTeachersCollege(NaturalScience)Vol.10NO.3XXX++C函数中引用调用的优越性王俊书,郑忠刚(解放军炮兵学院,安徽合肥230031)摘要:文章阐述了C++函数中传值调用、传址调用及引用调用的特点,并通过实例将它们在函数中的应用进行了对比,以此体现出引用调用在实际应用中的优越性。关键词:传值调用;传址调用;引用调用;指针中图分类号:TP392文献标识码:A文章编号:1007-4260(2004)03-00

2、96-03++C本质上是带面向对象程序设计(Object-参。所以说,传值调用的特点是形参值的改变不OrientedProgramming,OOP)扩展的C语言。是影响实参值。++C语言的超集,即C语言是在C语言基础上进例如下列程序代码:++行补充、完善而来的。C和C的函数调用的主要#include++区别是C中使用了引用调用。引用(reference)voidswap(intx,inty)++是C特有的概念,它是程序设计语言发展的产{物,简单的说,引用是一种特殊类型的变量,可以inttemp;被认为是另一个变量的别名

3、,一旦建立别名,这temp=x;x=y;y=temp;个别名就紧密的与变量空间联系在一起,对引用}的操作就是对被它引用的原变量的操作。引入引voidmain()用的主要目的是在函数参数传递中,解决大对象{的传递效率不高及内存空间使用效率差的问题。inta=5;下面通过实例对三种调用进行比较。intb=6;1.传值调用swap(a,b);++C中变量值有两种:变量本身值和变量地cout<<"a="<

4、上面运行结果来普通变量作函数的参数。另一种是广义上的传值看,并没有达到交换的目的。因为这里采用的是调用,所传递的是变量地址的值,通常用指针作传值调用,函数调用时传递的是实参的值,是单为函数的参数,也称为传址调用。向传递过程,形参值的改变对实参不起作用,所1.1传值调用以出现了上面的结果。传值调用是指当发生函数调用时,系统给形这种用普通变量作为参数是传值调用中较参分配内存空间,再将实参的值按位置对应的赋为常见的形式,它在参数传递过程中进行的是传给形参,既对形参进行初始化。因此,传值调用的值操作,即赋值操作。对空间占用较大的参数来实现机制是系统将

5、实参的值拷贝一个副本给形说,这种传值操作的执行效率和空间利用率都很参,一旦形参获得了值便与实参脱离关系,此后低。无论形参发生了怎样的改变,都不会影响到实1.2传址调用X收稿日期:2004-02-25XX作者简介:王俊书(1974-),男,安徽寿县人,解放军炮兵学院在读研究生,主要研究图形理论及计算机模拟。++第3期王俊书,郑忠刚:C函数中引用调用的优越性·97·如果需要传递的数据量较大且存放在一个简单方便,又保证执行的效率。使用引用作函数连续的内存区域中,就可以只传递数据的起始地形参时,调用函数的实参要用变量名,将实参的址,而不需要传递数据的

6、值。使用这种传址调用变量名赋给形参的引用,相当于在被调用函数中方式时,调用函数的实参使用地址值,被调用函使用了实参的变量值。而且这种调用起到传址调数的形参使用指针,调用时系统将实参的地址值用的作用,但它又比传址调用更方面、更直接。因赋给对应的形参指针,使形参指针指向实参的变此,可以这样说:引用作参数,在使用上如同普通量值。这样在子函数运行过程中,对形参指针所变量作参数形式一样简单;在效率上如同指针作指变量值的改变也同样影响着实参指针所指向参数一样的高效。的变量的值。例如,下面的程序中用引用实现交换两个变例如一个简单的交换两个变量值功能的函量值

7、的功能。数,其代码如下:#include〈iostream.h〉#include〈iostream.h〉voidswap(int&x,int&y)voidswap(int3x,int3y){inttemp=x;{inttemp=3x;x=y;3x=3y;y=temp;3y=temp;}}voidmain()3voidmain(){inta=5;{inta=5;intb=6;intb=6;swap(a,b);swap(&a,&b);cou《t"a="《a《"、b="《b《endl;cou《t"a="《a《"、b="《b《endl;}}程序执行的

8、结果是a=6,b=5实现了变量值程序执行的结果是a=6,b=5.swap函数实交换的功能。从上例中可看出,使用引用作为形现了变量值交换的功能。参具有以下优点:这种以

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。