什么叫缺省参数?

缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该默认值,否则使用指定的实参。
注意:要想省略参数,声明或者定义内必须指定默认值

void TestFunc(int a = 0)
{cout<<a<<endl; }
int main()
{TestFunc(); // 没有传参时,使用参数的默认值TestFunc(10); // 传参时,使用指定的实参
}

第一次调用时没有传参,默认使用定义中的参数值
第二次调用时指定实参,使用了指定的实参

有没有一种备胎的感觉,你给我了我就用你的,你不给我我还有备用的

缺省多个参数的情况

1.全缺省

即传参数所有参数都省略(会默认使用定义或声明的参数)

2.半缺省

比如应该传两个参数但直传了一个,应该传三个只传了两个,参数传的数量不全

感受一下很容易理解:

注意:
1.缺省参数不能间隔着给,必须依次给
2.缺省参数不能在函数声明和定义中同时出现(如果默认值不同编译器会不确定该使用 哪一个缺省值)
3.缺省值必须是常量或者全局变量
4.c语言编译器不支持

C++[缺省参数]的理解相关推荐

  1. 小百对python的缺省参数的理解

    代码---------- """ 定义函数时,可以给某个参数指定一个默认值,具有默认值的参数叫做缺省参数 调用函数时,如果没有给缺省参数赋值,则缺省参数输出定义的默认值 ...

  2. “.NET研究”谈谈C# 4.0新特性“缺省参数”的实现

    C#4.0关于缺省参数的新特性,相信大家都不会陌生.所谓缺省参数,顾名思义,就是在声明方法的某个参数的时候为之指定一个默认值,在调用该方法的时候如果采用该默认值,你就无须指定该参数.和很多语言层面特性 ...

  3. C++ C++基础语法入门总结(一)命名空间-输入输出-缺省参数-函数重载

    C++基础语法入门总结 C++ 命名空间 如何定义和使用命名空间 C++ 输入与输出 C++ 缺省参数 C++函数重载 名字修饰 extern "c" 推荐阅读 C++ 命名空间 ...

  4. C++ 缺省参数及函数重载分析

    目录 1.缺省参数 1.1 缺省参数定义 1.2 缺省参数分类 1.2.1全缺省参数 1.2.2 半缺省参数 2. 函数重载 1.缺省参数 1.1 缺省参数定义 定义:缺省参数是声明或定义函数时,为函 ...

  5. C++中的糖果——缺省参数、内联函数、auto及nullptr关键字

    在C++中,相对于C语言,我们引入了许多新的概念,新的机制,它们的到来让我们的编程方便了不少,它并没有多么难理解,但是比较零碎,在我看来它就是一些加分项,故此,我们通常也将其称为C++中的糖果.下面就 ...

  6. C++入门:命名空间、缺省参数、函数重载、引用、内联函数、auto、范围for

    这里写目录标题 前言 命名空间 缺省参数 1.**什么是缺省参数** 2.缺省参数的分类 注意事项 函数重载 1.形参不同 2.形参顺序不同 3.形参个数不同 为什么会出现上述这样的情况呢?? gcc ...

  7. C++ 语言学习 day01 (linux ),基本输入输出错误输出函数,名字空间的含义,内联函数,缺省参数,引用 ,、new操作符

    1.介绍c++ C++头文件风格 c++ 老风格:以.h结尾 是c语言风格  stdio.h  (尽量不) c++的转换风格: 去掉.h 在文件名前加c 例如#include <cstdio&g ...

  8. C++基础入门(上):命名空间、输入输出、缺省参数

    引言 本系列旨在为初学者提供一份全面且易懂的C++入门指南.我们将从C++的关键字开始,逐步探索C++的各个方面,包括命名空间.输入输出.函数特性以及C++11的一些新增特性,如auto关键字.基于范 ...

  9. 【C++入门第一期】命名空间 缺省参数 函数重载 的使用方法及注意事项

    目录 简介 命名空间 为何会有命名空间 命名空间的定义 嵌套定义 命名空间的使用 作用域限定符 using 将命名空间中某个成员引入 using namespace 将该空间所有成员引入 缺省参数 全 ...

最新文章

  1. 配置MPLS BGP ××× 出现单边的故障
  2. Java消息服务JMS详解
  3. 《1024伐木累》-宝贝儿,可不可以
  4. 优秀的Java开发人员必备的6个技能
  5. 简单易用的库存管理软件、进销存软件
  6. 配置ADO.NET类文件连接优化
  7. springmvc resources 配置
  8. mysql使用的索引长度_MySQL索引的索引长度问题
  9. Springboot整合mybatis框架(含实例Demo)
  10. Elasticsearch--进阶-Query DSL基本使用和match_all---全文检索引擎ElasticSearch工作笔记010
  11. IT招聘负责人:成功简历六大要素
  12. 手游游戏资源提取 (破解、AssetStudio、VGMToolbox、disunity、Il2CppDumper、 .NET Reflector)...
  13. 因为一件事,公司的前后端打起来了
  14. 图像mnf正变换_PIE SDK最小噪声变换
  15. 逆水寒 各个服务器位置,逆水寒合服公告_哪些服务器要合并_3DM网游
  16. c语言sqlite3写数据类型,在sqlite数据库中,int类型不等于integer数据类型
  17. Oracle 使用序列创建自增字段
  18. 批量修改文件后缀名 文件扩展名
  19. maven打包报内存不足,配置maven vm options
  20. 【mysql】关闭mysql缓存的方法

热门文章

  1. pygame-KidsCanCode系列jumpy-part13-改进跳跃
  2. 如何优雅地提取 App 的素材
  3. WUSTOJ 1318: 区间的连通性(Java)
  4. 3U8633——雷达对民航的贡献
  5. 吴裕雄--天生自然 诗经:小儿垂钓
  6. 码流 /码率 / 比特率
  7. 回顾 深度学习 实验三 线性回归
  8. 谷歌浏览器网盘倍速播放
  9. 西门子官网下载Eplan部件库
  10. 美国电子计算机大学排名,美国大学电子计算机专业排名院校有哪些?