栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c++缺省值 缺省参数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++缺省值 缺省参数

文章目录
  • 前言
  • 一、缺省参数是什么?
  • 二、缺省参数使用
    • 1.缺省参数的函数定义
    • 2.缺省参数的定义及声明
  • 总结


前言

一般情况下,函数调用时实参与形参的数目应该保持一致,为了更加方便使用函数,c++中允许使用缺省参数,此时实参和形参数目可以不相同。


一、缺省参数是什么?

缺省参数:指在函数定义时为形参设定缺省值(默认值)。

对于这种函数在调用时,对于缺省参数,可以给出实参值,也可以不给。如果给了实参,则按照实参传递给形参进行使用,如果不给出实参,则按缺省值进行调用。

二、使用步骤 1.缺省参数的函数调用

  首先,缺省参数在定义时必须放在参数表的右侧,从右向左定义,不能跳着定义。即先定义所有的非缺省参数,在定义缺省参数。这是因为,在函数调用时,参数自左向右逐个匹配,当实参和形参个数不一致时只有这样才不会产生二义性。

void fun(int a,int b=10,int c=int(),int d=int{})//right 从右向左给缺省值 
void fun(int a,int b=0,int c,int d=10)//error

void fun(int a,int b=10,int c=20){
cout<<"a="<

注意:缺省参数并不一定得是常量表达式,可以是任意表达式,甚至可以通过函数定义。

2.缺省参数定义及说明

一般,缺省参数在头文件中的函数声明中指定,不要在函数的定义中声明。

如果头文件包含的函数声明一指定缺省参数值,函数定义一定不能再次指定缺省参数值。

代码如下(示例):

//A.h 头文件 
void fun(int a,int b=14,int c=200);

//A.cpp

#include"A.h"
//void fun(int a,int b=10,int c=10);//error不能再给缺省值
 void fun(int a,int b,int c){
cout<<"a="<

如果缺省参数是个表达式的话,要是实参给了值则直接传给形参,要是没给则该表达式被求值。

#include 
using  namespace std; 
int add1() {
	return 2;
}
void fun(int a, int b = add1() ){
	cout << "a=" << a << "b=" << b << endl;
}
int main()
{
	fun(10);//a=10b=2
	fun(10, 20);//a=10b=20
	return 0;
}

总结

以上就是缺省值的使用,使我们更加方便的调用函数。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/873464.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号