C++中 函数参数的缺省值是什么?
3个回答
展开全部
也就是函数默认值
对于自定义函数,可使用缺省参数来达到某一程度的“重载”等功能,缺省参数只能放在函数声明中,因为编译器必须在使用前知道缺省值。只有函数参数列表后部参数能够缺省,一旦在某一位置使用缺省参数值后,自此位置以后皆为缺省参数值。
缺省参数可以让参数没有标识符,在C++中,函数定义是,不一定需要标识符:
void f(int number, int = 0, float = 1.1f);
void f(int number, int , float f){/* .... */}
在此函数体中,number与f可被引用,但没有标识符的int则不行,调用时如f(0)(此时函数的参数列表为(0,0,1.1))或f(0,1,2)。这种语法允许我们将一个参数作为占位符而不去使用它,其目的在于我们以后可以修改函数定义而uxuyao修改所有的函数调用(存在参数名没有使用编译器将给出一个警告),更重要的是当我们开始使用一函数参数后发现不需要它时,我们可以高效地将它删除而不会产生警告错误,并且不需要修改函数那些调用函数以前版本的程序代码。
对于自定义函数,可使用缺省参数来达到某一程度的“重载”等功能,缺省参数只能放在函数声明中,因为编译器必须在使用前知道缺省值。只有函数参数列表后部参数能够缺省,一旦在某一位置使用缺省参数值后,自此位置以后皆为缺省参数值。
缺省参数可以让参数没有标识符,在C++中,函数定义是,不一定需要标识符:
void f(int number, int = 0, float = 1.1f);
void f(int number, int , float f){/* .... */}
在此函数体中,number与f可被引用,但没有标识符的int则不行,调用时如f(0)(此时函数的参数列表为(0,0,1.1))或f(0,1,2)。这种语法允许我们将一个参数作为占位符而不去使用它,其目的在于我们以后可以修改函数定义而uxuyao修改所有的函数调用(存在参数名没有使用编译器将给出一个警告),更重要的是当我们开始使用一函数参数后发现不需要它时,我们可以高效地将它删除而不会产生警告错误,并且不需要修改函数那些调用函数以前版本的程序代码。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询