函数参数求值顺序和默认值

xiaoxiao2021-02-28  83

函数参数求值顺序:

当一个函数带有多个参数时,C++语言没有规定在函数调用时参数的求值顺序。编译器根据代码进行优化的需要规定对实参的求值顺序,可能是从左至右,也可能是从右至左。

如果实参表达式中带有副作用的算法,就有可能产生二义性。

#include<iostream> int add_int(int x,int y) { return x + y; } void main() { int x(4) , y(6); int z = add_int(++x,y+x); cout<<z<<endl; } 该程序中,先算++x 还是x+y 就会产生不同的结果。

设置函数参数的默认值

在C++中,允许在函数说明或定义时给出一个或多个参数的默认值。 但是,要求在一个指定了默认值的参数的右边,不能出现没有默认值的参数

通常,当一个函数有定义又有说明时,参数的默认值要在说明时设置

转载请注明原文地址: https://www.6miu.com/read-78798.html

最新回复(0)