• C++默认实参


    某些函数有这样一种形参,在函数的很多次调用中它们都被赋予一个相同的值,此时,我们把这个反复出现的值称为函数的默认实参。调用含有默认实参的函数时,可以包含该实参,也可以省略该实参。

    例如定义一个函数screen表示窗口的内容:

    typedef string::size_type sz;
    string screen(sz ht = 24, sz wid = 80, char backgrnd = ' ');

    我们可以为一个或多个形参定义默认值,但是需要注意:一旦某个形参被赋予了默认值,它后面的所有形参都必须有默认值

    比如 string screen(sz, sz = 80, char = ' '); 这样的代码是正确的,但是 string screen(sz = 24, sz, char); 就是错误的。

    我们可以提供实参覆盖默认值,但是要想覆盖后面的默认实参,必须给前面的形参也提供默认值,而不能跳过,比如:

     string window = screen(, , '?'); 

    是错误的,而下列两行都是正确的:

     string window = screen(20, 20, '?'); 
     string window = screen(20); //等价于screen(20, 80, ' ')

      

    我们还可以多次声明同一个函数,后续声明能且只能给之前那些没有默认值的形参添加默认实参,而且该形参的右侧的所有形参都必须有默认值。假如给定

    string screen(sz, sz, char = ' ');

    我们不能修改一个已经存在的默认值

    string screen(sz, sz, char = '*');//错误:重复声明

    但是可以按照如下形式添加默认实参:

    string screen(sz = 23, sz = 80, char);
  • 相关阅读:
    HTML DOM 06 节点关系
    HTML DOM 05 事件(三)
    HTML DOM 05 事件(二)
    HTML DOM 05 事件(一)
    html DOM 04 样式
    html DOM 03 节点的属性
    html DOM 02 获取节点
    html DOM 01 节点概念
    JavaScript 29 计时器
    JavaScript 28 弹出框
  • 原文地址:https://www.cnblogs.com/Lightfall/p/9952832.html
Copyright © 2020-2023  润新知