<b>浅谈C++函数的参数</b>[VC/C++编程]
本文“<b>浅谈C++函数的参数</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
函数参数的求值次序
当一个函数带有多个参数时,C++语言没有规定在函数调用时实参的求值次序.而编译器按照对代码举行优化的需求自行规定对实参的求值次序.有的编译器规定自左至右,有的编译器规定自右至左,这种对求值次序的差别规定,对普通参数来说没有影响.但是,假照实参表达式中带有副作用的运算符时,就有大概产生由于求值次序差别而造成了二义性.比方:intz = add_int(++x,x+y);,这样,在差别的编译器就有大概生产差别的后果.
设置参数的默许值
在C++语言中,答应在函数的阐明或定义时给一个或多个参数指定默许值.但是,要求在一个指定了默许值的参数的右边,不能呈现没有指定默许值的参数.比方:
intadd_int(int x, int10);
在上述对函数add_int()的阐明中,对该函数的最右边的一个参数指定了默许值.
在函数调用时,编译器按从左至右的次序将实参与形参结合,当实参的数目不足时,编译器将按一样的次序用阐明中或定义中的默许值来补足所贫乏的实参.比方,若有下列的函数调用表达式: add_int(15)
它将与下列调用表达式:
add_int(15,10)
是等价的.
在给某个参数指定默许值是,不但可以是一个数值,并且还可以是肆意复杂的表达式.
利用数组作函数参数
数组作函数参数可以分为以下三种情形:(这三种情形的后果相同,只是所采取的调用机制差别)
1.形参和实参都用数组
调用函数的实参用数组名,被调用函数的形参用数组,这种调用的机制是形参和实参共用内存中的同一个数组.因此,在被调用函数中改变了数组中某个无素的值,对调用函数该数组的该元素值也被改变,因为它们是共用同一个数组. 2.形参和实参都用对应数组的指针
在C++中,数组名被规定为是一个指针,该指针就是指向该数组的首元素的指针,国为它的值是该数组首元素的地址值,因此,数组名是一个常量指针.
实际中,形参和实参一个用指针,另一个用数组也是可以的.在利用指针时可以用数组名,也可以用别的定义的指向数组的指针.
3.实参用数组名形参用引用
若何对数组范例利用引用方法,这里先做以下阐明:先用范例定义语句定义一个int型的数组范例,以下所示:
typedefint array[8];
然后,利用array来定义数组和引用.
示例:
#include
typedef int array[8];
int a[8] ={1, 3, 5, 7, 9, 11, 13};
void fun(array &b, int n)
{
for(int i=0;i b[7]+=b[i];
}
void main()
{
int m=8;
fun(a,m);
cout<}
该程序中,在fun()函数中,利用了引用作形参,调用时所对应的实参应当是一个数组名,这里的引用是给数组起个体名.在fun()函数中对数组b的操作,就相当于b所引用数组a的操作.在C++中,常用这种调用方法.
以上是“<b>浅谈C++函数的参数</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |