zoukankan      html  css  js  c++  java
  • QT学习笔记7:C++函数默认参数

    C++中允许为函数提供默认参数,又名缺省参数。

    使用默认参数时的注意事项:

    ① 有函数声明(原型)时,默认参数可以放在函数声明或者定义中,但只能放在二者之一。建议放在函数声明中。

    double sqrt(double f = 1.0); //函数声明
    
    double sqrt(double f)  //函数定义
    {
      // ....  
    } 

    ② 没有函数(原型)时,默认参数在函数定义时指定.

    //没有 函数声明
    
    double sqrt(double f = 1.0)  //函数定义

    ③ 在具有多个参数的函数中指定默认值时,默认参数都必须出现在不默认参数的右边,一旦某个参数开始指定默认值,它右边的所有参数都必须指定默认值.

    int f (int i1, int i2 = 2, int i3 = 3);     // 正确
    int g (int i1, int i2 = 2, int i3);         // 错误, i3未指定默认值
    int h (int i1 = 1, int i2, int i3 = 3);     // 错误, i2未指定默认值

    ④ 在调用具有默认参数的函数时, 若某个实参默认,其右边的所有实参都应该默认。

    //例如, 一个函数声明如下
    int f(int i1 = 1, int i2 =2, int i3 = 3);
    
    
    //调用函数 f()
    f();             //正确, i1=1, i2=2, i3=3
    f(3);            //正确, i1=3, i2=2, i3=3
    f(2, 3);         //正确, i1=2, i2=3, i3=3
    f(4, 5, 6);      //正确, i1=4, i2=5, i3=6
    f(, 2, 3);       //错误, i1默认,其右边的i2和i3没有默认

    注意的是: 
    带缺省值的参数必须放在参数列表的最后面。因为传参是从右向左的。 
    缺省参数不能同时在函数声明和定义中出现,只能二者留其一。 
    缺省值必须是常量或者全局变量。 
    C语言并不支持缺省。

  • 相关阅读:
    Handle类与线程
    android中ProgressBar和ListView
    RadioGroup、RadioButton、CheckBox、Toast用法
    Android开发中的menu菜单
    多个Activity相互调用和Intent
    ubuntu下安装h2数据库
    window下eclipse安装python插件
    centos7安装JDK1.8
    ubuntu设置root权限默认密码
    Linux给用户添加sudo权限
  • 原文地址:https://www.cnblogs.com/aiguona/p/10108049.html
Copyright © 2011-2022 走看看