C++核心编程之占位参数和默认参数

目录
  • 1,默认参数
  • 2,函数占位参数

1,默认参数

在c++中,函数的形参列表中的形参是可以有默认值的。

  • 语法: 返回值类型 函数名 (参数 = 默认值)
  • 注意事项:1从左到右设置默认参数。2不能重定义默认参数

代码示例:

int test(int a, int b=10, int c=10)
{
  return a + b + c;
}

​b=10和c=10就是函数的默认参数,当不给b和c赋值时,就用默认的参数

使用

​使用默认参数时候有两点要注意​:

(1)设置默认参数的时候,必须从左到右都设置。

既从左到右的第一个参数设置默认值了,其后面都要设置默认参数。可以都设也可以都不设

代码示例:

int test02(int a,int b,int c=10,int d=20,int f=30)
{
  return a + b + c + d + f;
}

(2)不能重定义默认参数。既函数的定义和函数的实现时,只能选择其一设置默认参

代码示例:

int test03(int a = 10, int b = 10);

int test03(int a,int b)
{
  return a + b;
}

int main()
{
  cout << test(10) << endl;//输出结果为30

  cout << test(10,30,30) << endl;//自动跳过默认的10,用的是30的值,输出结果为70
  
  system("pause");

}

2,函数占位参数

c++中函数的形参列表里可以有占位参数,用来占位,调用函数时必须填补位置

语法: 返回值类型 函数名 (数据类型) { }

void  test  ( int c int )
 {}

上方参数列表中 第二个 int 既是占位参数

void func(int a,int)
{
  cout << "this is a function" << endl;
}

int main()
{
  func(10, 56); //若只传入10不传入56,那么func函数将不会被调用
  system("pause");
}

报错:

触发的情况:

占位参数的:​在调用的时候必须传入该类型的参数函数才能被调用​;

优点:可以用作函数的触发

到此这篇关于C++核心编程之占位参数和默认参数的文章就介绍到这了,更多相关C++占位参数和默认参数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C++默认参数与函数重载及注意事项

    一.默认参数 在C++中,可以为参数指定默认值.在函数调用时没有指定与形参相对应的实参时, 就自动使用默认参数. 默认参数的语法与使用: (1)在函数声明或定义时,直接对参数赋值.这就是默认参数: (2)在函数调用时,省略部分或全部参数.这时可以用默认参数来代替. 注意: (1)默认参数只可在函数声明中设定一次.只有在没有函数声明时,才可以在函数定义中设定.(#add ,此句意为存在函数声明和定义两部分的时候.验证表明有这个限制,可以随便,但出于规范,在声明中指定) (2)如果一个参数设定了缺省

  • 从汇编看c++函数的默认参数的使用说明

    在c++中,可以为函数提供默认参数,这样,在调用函数的时候,如果不提供参数,编译器将为函数提供参数的默认值.下面从汇编看其原理. 下面是c++源码: 复制代码 代码如下: int add(int a = 1, int b = 2) {//参数a b有默认值    return a + b;}int main() {   int c= add();//不提供参数 } 下面是mian函数里面的汇编码: 复制代码 代码如下: ; 4    : int main() { push    ebp    m

  • 解析C++函数的默认参数和占位参数及较之C语言的拓展

    可以将占位参数与默认参数结合起来使用 意义: 为以后程序的扩展留下线索 兼容C语言程序中可能出现的不规范写法 //C++可以声明占位符参数,占位符参数一般用于程序扩展和对C代码的兼容 int func(int a, int b, int = 0) { return a + b; } void main() { //如果默认参数和占位参数在一起,都能调用起来 func(1, 2); func(1, 2, 3); system("pause"); } 默认参数对C的函数拓展 1.C++中可

  • C++函数参数取默认值的深入详解

    一般情况下,在函数调用时形参从实参那里取得值,因此实参的个数应与形参相同.有时多次调用同一函数时用同样的实参,C++提供简单的处理办法,给形参一个默认值,这样形参就不必一定要从实参取值了.如有一函数声明float area(float r=6.5);指定r的默认值为6.5,如果在调用此函数时,确认r的值为6.5,则可以不必给出实参的值,如area( );  //相当于area(6.5);如果不想使形参取此默认值,则通过实参另行给出.如area(7.5); //形参得到的值为7.5,而不是6.5这

  • C++之默认参数详解

    目录 一.C++ 默认参数 1.举例 1.单个参数 2.多个参数 2.规则 总结 一.C++ 默认参数 通常情况下,函数在调用时,形参从实参那里取得值.对于多次调用同一函数同一实参时,C++给出了更简单的处理办法.给形参以默认值,这样就不用从实参那里取值了. 1.举例 1.单个参数 #include <iostream> #include <ctime> using namespace std; void weatherForcast(char * w="sunny&qu

  • C++语法中的函数重载和默认参数

    C语言中没有函数重载 C++语言中有函数重载 函数名相同,参数个数不同.参数类型不同.参数顺序不同 例如下面就是函数重载 void sum(int a, int b){ cout << a+b << endl; } void sum(int a, double b){ cout << a+b << endl; } 返回值类型与函数重载无关 返回值类型与函数重载无关,下面代码不构成重载,编译会报错 //返回值类型与函数重载无关 int func(){ retu

  • C++函数的默认参数详情

    文章转自微信 公众号:Coder梁(ID:Coder_LT) C++当中的支持默认参数,如果你学过Python,那么想必对此不会陌生.C++中的默认参数的用法和Python基本一致. 使用默认参数的方法非常简单,也就是我们在函数声明的时候,就为某些参数指定好默认值.当我们调用函数的时候,如果没有传入对应的参数,那么则使用默认值. 比如: void func(int a, int b=2, int c=3, int d=4) { cout << a << " "

  • C++核心编程之占位参数和默认参数

    目录 1,默认参数 2,函数占位参数 1,默认参数 在c++中,函数的形参列表中的形参是可以有默认值的. 语法: 返回值类型 函数名 (参数 = 默认值) 注意事项:1从左到右设置默认参数.2不能重定义默认参数 代码示例: int test(int a, int b=10, int c=10) {   return a + b + c; } ​b=10和c=10就是函数的默认参数,当不给b和c赋值时,就用默认的参数 使用 ​使用默认参数时候有两点要注意​: (1)设置默认参数的时候,必须从左到右

  • ES6字符串模板,剩余参数,默认参数功能与用法示例

    本文实例讲述了ES6字符串模板,剩余参数,默认参数功能与用法.分享给大家供大家参考,具体如下: 这里介绍一下字符串模板以及剩余参数,默认参数的概念以及使用. 先来说说字符串模板. 字符串模板 ES6中允许使用反引号 ` 来创建字符串,此种方法创建的字符串里面可以包含由美元符号加花括号包裹的变量${varible}.如果你使用过像C#等后端强类型语言的话,对此功能应该不会陌生. //产生一个随机数 var num=Math.random(); //将这个数字输出到console console.l

  • 浅析C/C++中的可变参数与默认参数

    千万要注意,C不支持默认参数 C/C++支持可变参数个数的函数定义,这一点与C/C++语言函数参数调用时入栈顺序有关,首先引用其他网友的一段文字,来描述函数调用,及参数入栈: ------------ 引用开始 ------------ C支持可变参数的函数,这里的意思是C支持函数带有可变数量的参数,最常见的例子就是我们十分熟悉的printf()系列函数.我们还知道在函数调用时参数是自右向左压栈的.如果可变参数函数的一般形式是:    f(p1, p2, p3, -)那么参数进栈(以及出栈)的顺

  • 实例讲解在C++的函数中变量参数及默认参数的使用

    包含变量参数列表的函数 如果函数声明中最后一个成员是省略号 (...),则函数声明可采用数量可变的参数.在这些情况下,C++ 只为显式声明的参数提供类型检查.即使参数的数量和类型是可变的,在需要使函数泛化时也可使用变量参数列表.函数的系列是一个使用变量参数列表的函数的示例.printfargument-declaration-list 包含变量参数的函数 若要访问声明后的参数,请使用包含在标准包含文件 STDARG.H 中的宏(如下所述). 采用数量可变的参数的函数声明至少需要一个占位符参数(即

  • IDEA之启动参数,配置文件默认参数的操作

    配置文件写法: isPay是key,如果启动参数不传,则采用默认值是1. 启动类传参: 补充:IDEA使用指定配置文件 在VM options 中添加 -Dspring.profiles.active=xxx 如 以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们.如有错误或未考虑完全的地方,望不吝赐教.

  • 详细介绍Python函数中的默认参数

    import datetime as dt def log_time(message, time=None): if time is None: time=dt.datetime.now() print("{0}: {1}".format(time.isoformat(), message)) 最近我在一段Python代码中发现了一个因为错误的使用默认参数而产生的非常恶心的bug.如果您已经知道关于默认参数的全部内容了,只是想嘲笑一下我这可笑的错误,请直接跳到本文末尾.哎,这段代码是我

  • 深入讲解Python函数中参数的使用及默认参数的陷阱

    C++里函数可以设置缺省参数,Java不可以,只能通过重载的方式来实现,python里也可以设置默认参数,最大的好处就是降低函数难度,函数的定义只有一个,并且python是动态语言,在同一名称空间里不能有想多名称的函数,如果出现了,那么后出现的会覆盖前面的函数. def power(x, n=2): s = 1 while n > 0: n = n - 1 s = s * x return s 看看结果: >>> power(5) 25 >>> power(5,3

  • Python进阶-函数默认参数(详解)

    一.默认参数 python为了简化函数的调用,提供了默认参数机制: def pow(x, n = 2): r = 1 while n > 0: r *= x n -= 1 return r 这样在调用pow函数时,就可以省略最后一个参数不写: print(pow(5)) # output: 25 在定义有默认参数的函数时,需要注意以下: 必选参数必须在前面,默认参数在后: 设置何种参数为默认参数?一般来说,将参数值变化小的设置为默认参数. python标准库实践 python内建函数: prin

  • C++中函数的默认参数详细解析

    使用方法:(1)在函数声明或定义时,直接对参数赋值,该参数就是默认参数.(2)在函数调用时,省略部分或全部参数,这时就会使用默认参数进行代替. 注意事项:(1)一般在声明函数是设置默认参数. 如果在函数声明和定义函数时都设置了默认参数,则以函数声明的默认参数为准. 复制代码 代码如下: #include<iostream>using namespace std;int main(){ double add(double a=3.2,double b=9.6);//在函数声明时设置默认参数 co

随机推荐