zoukankan      html  css  js  c++  java
  • [c++]默认参数

     =================默认参数==================
    在函数声明时表明默认值,在函数定义时正常定义
    void function(int a = 2)// 函数声明
    void function(int a)//函数定义
    {
        //code....

    }
    具体规则
    1.默认参数在声明中给出或者在定义中给出(默认参数可以放在函数声明或者定义中,但只能放在二者之一)

    2.形参的参数名可以省略 例如 void function(int =2)

    3.默认声明后不得再次尝试声明来试图更改默认值

    4.函数的参数的默认值只能从后向前设置 出现非默认的参数后 左方不得再次出现默认的参数(如果某个参数是默认参数,那么它后面的参数必须都是默认参数) 例如
    void fun(int a = 1, int b, int c = 3, int d = 4);
    上述函数声明错误 原因是a 和 b 的位置错误

    void fun(int a, int b = 2, int c = 3, int d = 4);
    则是正确的

    5.函数重载时谨慎使用默认参数值
    代码示例
    class Test
    {
    public:
        int func(int a)
        {
            return a;
        }

        int func(int a, int b = 1)
        {
            return a + b;
        }
    } ;
    如果有这样的调用:
    int main(void) 

        Test test;
        int result = test.func(1);

        getchar() ; 
        return 0 ; 
    }
    会造成函数调用的二义性,引发报错.

    6.赋值规则:
    右边的使用默认了 左边才能使用默认值

    7.重载还是使用默认参数?
    一般来说如果函数的两个版本工作方式完全相同 使用默认参数
    若果参数决定了的函数的工作方式截然不同 使用重载
  • 相关阅读:
    XML 学习(二)
    maven运用,在eclipse中将maven本地仓库加入,创建maven项目
    windows提权
    windows文件权限问题
    更换tomcat版本遇到问题解决方法
    服务器安装vmware遇到的问题
    windows远程账户禁用/允许/隐藏
    使用maven下载jar包
    编写WebService 并发布到IIS中
    一些有趣的javascript小测试
  • 原文地址:https://www.cnblogs.com/xdblog/p/4918400.html
Copyright © 2011-2022 走看看