6.184 默认参数与占位参数

2023-10-27

        与 python 中的默认参数类似,C++ 中同样支持默认参数。

        默认参数是给形式参数加上默认值。如果调用函数时传入了对应的实参,就使用实参的值替换默认值,如果没有传入实参,形参则使用默认值。

        注意事项:

                1)如果某个形参数有默认值,那么从这个位置开始,后面所有的形参都必须有默认值

                2)默认参数只能从右往左添加默认值

                3)默认参数应该放到函数原型中,而不是函数定义中

        占位参数:在函数形参中,只写数据类型,不写参数名,起到占位作用(运算符重载时使用)

#include <iostream>
#include <cstring>

using namespace std;

int GetSum(int a, int b = 5){
  return a + b;
}

// 注意在函数声明中使用默认参数,而不是函数定义中使用
int Add(int a, int b = 10);

// 占位参数,只写数据类型,不写参数名
void fun(int a, int){  
  puts("hello");
}

int main(){

  cout << "GetSum(10, 20): " << GetSum(10, 20) << endl;  // 30
  cout << "GetSum(10): " << GetSum(10) << endl;   // 15

  cout << "Add(1, 2): " << Add(1, 2) << endl;  // 3
  cout << "Add(1): " << Add(1) << endl;  // 11

  // fun(1); 这样是报错的,必须传入两个参数
  fun(1, 2);   // 输出 "hello"

  return 0;
}

int Add(int c, int d){
  return c + d;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

6.184 默认参数与占位参数 的相关文章

随机推荐

  • 360校招编程题:内存管理

    题目描述 物联网技术的蓬勃发展 各种传感器纷纷出现 小B所在的项目组正在开放一个物联网项目 她们在研究设计一种新的传感器 这种传感器有自己的基本处理单元 具有一定的自主性 能够进行简单的数据收集 处理 存储和传输 为降低系统功耗并保证系统可
  • 【网络编程】网络基础知识

    前言 小亭子正在努力的学习编程 接下来将开启javaEE的学习 分享的文章都是学习的笔记和感悟 如有不妥之处希望大佬们批评指正 同时如果本文对你有帮助的话 烦请点赞关注支持一波 感激不尽 目录 网络编程 什么是网络编程 网络通信基本模式 网
  • 关于利用JavaScript中的sort方法实现自定义排序

    众所周知 javascript中的sort方法可以实现排序 但是如果只是使用默认的方法 很难拿到理想的结果 默认用法 const arr 1 3 2 12 5 9 1 arr sort console log 排列的信息 arr 1 1 1
  • Keras中文官方文档(离线版)

    点此查看
  • chatgpt赋能python:Python交互编程入门指南

    Python交互编程入门指南 Python是一种高级编程语言 适合初学者和专业人士使用 Python的互动式编程方式为开发人员提供了快速反馈的环境 从而实现更便捷和高效的开发过程 在本文中 我们将介绍Python的交互编程 为您提供Pyth
  • 计算机磁盘是如何实现存储的?

    存储原理简述 硬盘是在硬质盘片 一般是铝合金 以前 IBM 也尝试过使用玻璃 上涂敷薄薄的一层铁磁性材料 硬盘储存数据的原理和盒式磁带类似 只不过盒式磁带上存储是模拟格式的音乐 而硬盘上存储的是数字格式的数据 写入时 磁头线圈上加电 在周围
  • 极智开发

    1 logo修改 BasicLayout jsx import logo from assets example jpg 替换成自己的logo即可 1 2 文字标题 defaultSettings js const proSettings
  • 同行评审的五个方法都是怎样实现的有什么区别

    审查 小组评审 走查 同级桌查 临时评审 审查 非作者等专家在内的针对特定对象进行检查以发现缺陷的过程 最正式 小组评审 一种 轻型审查 可采用审查的指导方针和流程 走查 是产品的作者向一组同事说明该产品 希望获得他们的意见以满足自己的需要
  • 在Java中操作串口实现短信收发 收藏

    1 配置comm jar Comm jar是Sub实现底层串口操作的API 调用了本地的DLL文件 因为Java本身不具备直接访问硬件设置的能力 都是通过调用本地方法来实现的 可以Java的官方网站下载 下载之后把其中Comm jar包导入
  • CPU 矩阵的 LU分解 without pivot

    hello lu without pivot cpu simple cpp 此文件包含 main 函数 程序执行将在此处开始并结束 include
  • 备选列表排列算法的 Python 实现

    备选列表排列算法的 Python 实现 备选列表排列是一种常见的问题 它涉及对给定列表中的元素进行排列 以生成所有可能的组合 在这个问题中 我们将探讨一个用 Python 实现备选列表排列的算法 算法的思路是通过递归方式生成所有可能的排列
  • java表达式解析引擎_Go 实现的数学表达式解析计算引擎

    前言 一下内容引用作者博客 math engine demo 导读 这篇文章将从头开始 使用 Go 语言来实现一个完整的数学表达式计算引擎 本文采用的是抽象语法树 Abstract Syntax Tree AST 实现方式 虽然本文的实现代
  • cublasSgemm函数

    cublasStatus t cublasSgemm cublasHandle t handle cublasOperation t transa cublasOperation t transb int m int n int k con
  • sklearn.preprocessing OneHotEncoder——仅仅是数值型字段才可以,如果是字符类型字段则不能直接搞定...

    gt gt gt from sklearn preprocessing import OneHotEncoder gt gt gt enc OneHotEncoder gt gt gt enc fit 0 0 3 1 1 0 0 2 1 1
  • set_output_delay与set_input_delay介绍

    关于set output delay与set input delay概念与用法 可以参考https wenku baidu com view 9135e34efe4733687e21aa2e html rec flag default或者如
  • css字体_在css中如何引入ttf文件的字体

    有时我们需要使用ttf文件中的字体 那如何导入呢 1 将文件放入项目文件夹中 2 在css文件中使用font face语法引入指定字体 font face font family ProductSan 字体 src url fonts Ro
  • PN图的画法

    不讲太复杂 两个概念和三条画图规则 必败点 P点 前一个选手 Previous player 将取胜的位置称为必败点 必胜点 N点 下一个选手 Next player 将取胜的位置称为必胜点 实际上就是按照规则画图 有以下三条规则 1 每个
  • Python3,1行代码,批量把图片转换成PDF文档,女神终于同意跟我吃夜宵了。

    批量图片转换成PDF文档 1 引言 2 代码示例 2 1 安装 2 2 单张转换 2 3 批量转换 3 总结 1 引言 小屌丝 鱼哥 求助 求助 小鱼 有啥事 这大惊小怪的 小屌丝 我女神跟我说 如果我把她的照片整成PDF 那么就跟我一起去
  • Python 中无穷的应用

    简介 Python 中的正负无穷为 float inf 和 float inf inf 全称为 infinity 正负无穷的应用 作为比较大小时的初值 需要选出最大值 使用负无穷 反之 使用正无穷 使用 LeetCode 64 题来详细说明
  • 6.184 默认参数与占位参数

    与 python 中的默认参数类似 C 中同样支持默认参数 默认参数是给形式参数加上默认值 如果调用函数时传入了对应的实参 就使用实参的值替换默认值 如果没有传入实参 形参则使用默认值 注意事项 1 如果某个形参数有默认值 那么从这个位置开