C++中带默认参数的函数定义及使用总结
对于带参数列表的函数,必须从右向左添加默认值
对于带参数列表的函数,必须从右向左添加默认值,也就是说,要为某个参数设置默认值,则必须为它右边的所有参数提供默认值。范例:
int fun1(int n, int m = 4, int j = 5); //正确
int fun2(int n, int m = 6, int j); //错误
int fun3(int n = 1, int m = 6, int j = 3); //正确
默认参数不能在声明和定义中同时出现
错误使用范例:
声明:
void fun4(int n = 10);
定义:
void fun4(int n = 10)
{...;
}
正确使用范例:
声明:
void fun4(int n = 10);
定义:
void fun4(int n)
{...;
}
或者
声明:
void fun4(int n);
定义:
void fun4(int n = 10)
{...;
}
带默认参数的函数的声明、定义及使用
函数可以先声明后定义再使用;也可以不声明只定义后使用。
一般情况下我们选择将默认参数放在函数定义中,这是我们设计函数的初衷,以及保证程序的可读性。
在实际调用过程中,实参按从左到右的顺序被赋给相应的形参,而不能跳过任何参数。范例:
val = fun1(2); //等价于 fun1(2,4,5)
val = fun1(1,8); //等价于 fun1(1,8,5)
val = fun1(8,7,6); //等价于 fun1(8,7,6)
val = fun1(3, ,8); //这种调用方式有误,有参数被跳过。
————————————————
版权声明:本文为CSDN博主「码农讲习所」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lsky380/article/details/102976485
C++中带默认参数的函数定义及使用总结相关推荐
- c语言带默认参数吗,嵌入式C语言可以带“默认参数”的函数吗
(文章来源:嵌入式时代) 使用C++开发过程序时,定义函数可以指定默认参数,例如 void fun(int x, int y=3); 在调用 fun() 时第二个参数可以不传递,此时 fun() 函数 ...
- c语言支持默认参数吗,嵌入式C语言可以带“默认参数”的函数吗
描述 (文章来源:嵌入式时代) 使用C++开发过程序时,定义函数可以指定默认参数,例如 void fun(int x, int y=3); 在调用 fun() 时第二个参数可以不传递,此时 fun() ...
- 【C++ grammar】重载、内联、变量作用域、带默认参数的函数
目录 1.变量的作用域 1. 变量的作用域分类 2. Unary Scope Resolution (一元作用域解析运算符) 2.重载函数 3.带有默认参数值的函数 4.重载函数 VS 带有默认参数值 ...
- C++函数默认参数(函数传入实参个数比形参个数少)
C++函数默认参数 定义 参数添加顺序 注意事项 转载链接 定义 在C++中,定义函数时可以给形参指定一个默认的值,这样调用函数时如果没有给这个形参赋值(没有对应的实参),那么就使用这个默认的 ...
- [转载] 详细介绍Python函数中的默认参数
参考链接: Python函数中的默认参数 详细介绍Python函数中的默认参数 import datetime as dt def log_time(message, time=None): if t ...
- 站长在线Python精讲:在Python函数中的默认参数详解
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python函数中的默认参数详解>.本文的主要内容有:默认参数的概念和默认参数的示例.默认参数不能设置可变对象. 目录 1 ...
- 如何定义带有可选参数的函数python_Python如何定义有默认参数的函数
问题 你想定义一个函数或者方法,它的一个或多个参数是可选的并且有一个默认值. 解决方案 定义一个有可选参数的函数是非常简单的,直接在函数定义中给参数指定一个默认值,并放到参数列表最后就行了.例如: d ...
- C++_求2个或3个正整数中的最大数,用带有默认参数的函数实现
C++_求2个或3个正整数中的最大数,用带有默认参数的函数实现 #include<iostream> using namespace std; /*** 求2个或3个正整数中的最大数,用带 ...
- 带默认参数值的函数 内联函数
内联函数: 如果在声明函数时使用关键字inline,编译时会在调用处直接用函数体进行替换,而不是调用函数 既然是直接替换,那么里面肯定不能有循环语句,switch语句等 注:①内联函数可以避免函数调用 ...
- urlencode quote unquote (url 中带中文参数)
目录: urlencode & quote & unquote (url 中带中文参数) python httplib urllib urllib2区别(一撇) 当url地址含有中文或 ...
最新文章
- 双向链表的建立、插入、删除、
- linux vim python配置文件,Linux VIM8 Python 编辑器配置文件
- 【网络编程】之九、事件选择WSAEventSelect
- 简单理解Tomasulo算法与重加载缓冲区
- AVFoundation 之数字媒体(音频)
- 逐渐摆脱高通和联发科!华为手机将采用更多麒麟芯片
- (转)python的range()函数用法
- Total Commander通过CTRL+B调用git-base.exe
- tomcat 9 http请求中文乱码问题
- 自动化专业是计算机相关专业吗,自动化专业属于什么学科门类
- 中国互联网络发展状况统计报告计算机,CNNIC发布《第22次中国互联网络发展状况统计报告》...
- vs工程生成自定义图标的exe
- 白城师范学院计算机系鲍金玲,企业绩效考核方法的比较与借鉴
- 完美世界-游戏Java开发工程师-一面
- 微信app支付服务端开发记录
- 【python与数据分析】CH3 python序列结构补充——字符串
- 麦克风波束成形基本原理
- JSP书香味道点餐系统课设
- 树的概念及存储结构(双亲表示法,孩子表示法,孩子兄弟表示法)
- 李宏毅-机器学习深度学习-第六讲-深度学习介绍