开发者

C++中缺省参数的使用

目录
  • 缺省http://www.devze.com参数概念
  • 缺省参数分类
    • 全缺省参android
    • 半缺省参数
  • 注意事项

    缺省参数概念

    缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实参则采用该形参的缺省值,否则使用指定的实参

    void Print(int num = 0)
    {
    	cout << num << endl;
    }
    int main()
    {
    	Print();	//没有传参时,使用缺省值,即打印0
    	Print(10);	//有传参时,使用指定实参,即打印10
    }
    

    缺省参数分类

    全缺省参数

    顾名思义,对于函数中的每个参数,全都给定缺省值,这就是全缺省参数了。

    void Add2Num(int num1 = 0, int num2 = 0)
    {
    	return num1 + num2;
    }
    

    半缺省参数

    半缺省参数是指:不是每个函数参数都给缺省值,即有些参数给了缺省值,有些参数没给缺省值。

    void Cal(int num1, int num2, int num3 = 0, int num4 = 0)
    {
    	return num1 * num2 + num3 * num4;
    }
    

    注意事项

    1.半缺省参数必须从右往左依次给出,不能间隔着给。像下面这样的用法是错的,因为num3没有缺省值

    void Cal(int num1, int num2 = 0, int num3, int num4 = 0)
    {
    	return num1 * num2 + num3 * num4;
    }
    

    2.缺省参数不能在函数声明和实现中同时出现,即使给的缺省值是一样的。下面的代码就是错误的

    //函数声android明
    int Add2Num(int num1 = 0, int num2 = 0);
    //函数实现
    int Add2Num(int num1 = 0, int num2 = 0);
    

    ps:函数的声明和实现中,只能选择在其中一处给出缺省参数。假如用户在声明和实现给的缺省值不同,那编译编程客栈器不知道以谁为准。

    //函数声明
    void Print(int num = 0);
    
    //函数实现
    void Print(int num = 10)
    {
    	cout << num << endl;
    }
    

    3.缺省值必须是常量或者全局变量

    4.C语言不支持缺省参数。(编译器不支持)

    到此这篇关于C++中缺省参数的使用的文章就介绍到这了,更多相关C++ 缺省参数内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(wwwpython.cppcns.com)!

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜