zoukankan      html  css  js  c++  java
  • 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);
  • 相关阅读:
    生成测试报告unittest、HTMLTestRunner(pytest、allure)
    接口自动化上传视频(python)
    Android手机测试环境搭建
    jmeter性能测试监控
    jmeter多机联合负载
    jenkins+ant+jmeter接口自动化的持续集成
    jmeter+jenkins 配置过程(很详细)
    XSS攻击测试代码
    web安全测试之 xss攻击
    互联网公司--高级测试工程师面试经验分享
  • 原文地址:https://www.cnblogs.com/Lightfall/p/9952832.html
Copyright © 2011-2022 走看看