美文网首页
04-默认参数

04-默认参数

作者: _东阁堂主_ | 来源:发表于2019-02-04 19:36 被阅读7次

写在前面

听说过函数有默认值吗,想了一下,脑袋一团浆糊,好,今天来认识一下

名词解释

 C++允许函数设置默认参数,在调用时可以根据情况省略实参。规则如下:
 默认参数只能按照右到左的顺序
 如果函数同时有声明、实现,默认参数只能放在函数声明中
 默认参数的值可以是常量、全局符号(全局变量、函数名)

码上封口

将main.m 改为mian.mm 文件
#include <iostream>
using namespace std;

void display(int a = 10, int b = 20) {
    cout << "a is " << a << endl;
    cout << "b is " << b << endl;
}

int main() {
    display();
    display(1);
    display(1,3);
}

看下打印结果:
a is 10
b is 20
a is 1
b is 20
a is 1
b is 3
是不是很厉害的样子,嗯嗯,当时我也是这么想的。

注意点

在文件里是不是可以重载一下函数,定义两个函数
void display(int a = 10) {
    cout << "a is " << a << endl;
}
void display() {
    cout << "display() " << endl;
}
此时会发现
display();
display(1);
这两个函数调用会报错"Call to 'display' is ambiguous",
这就是函数二义性,导致编译器不知道调用哪一个,建议优先选择使用默认参数。
可对比下第二讲的函数重载部分。

完整代码demo,请移步GitHub:DDGLearningCpp

当然C++大神就绕吧,非喜勿喷,毕竟这是个人的学习笔记📒

相关文章

  • 04-默认参数

    写在前面 名词解释 码上封口 注意点 完整代码demo,请移步GitHub:DDGLearningCpp 当然C+...

  • Python—参数类型

    1、位置参数(必选参数) 2、默认参数 (1)设置默认参数时,必选参数在前,默认参数在后,否则Python解释器会...

  • python-调用函数(2)

    python中,有默认参数时,需要将默认参数放在必选参数之后 有多个默认参数时,可以通过顺序提供默认参数,也可以不...

  • 函数

    1. 函数的参数 必选参数、默认参数、可变参数和关键字参数 位置参数 默认参数 多个默认参数,调用时.1.按顺序提...

  • 默认参数

    ES5中,如果函数调用时没有传入参数,需要使用默认的参数值时需要这么写: 在es6中就方便多了,可以直接写成这样:...

  • 默认参数

    首先引入一个C++中获取当前时间的方法。 不过↑↑↑↑↑↑貌似跟下文没有什么关系 这是一段输出当前天气的函数,当然...

  • 默认参数

    即使后面修改了a的值,仍然输出10,因为默认参数值总是被设为函数定义时作为值传入的对象

  • 006_scala编程详解函数入门之默认参数和带名参数

    默认参数 java与scala实现默认参数的区别 带名参数

  • ES6 函数默认参数、rest运算符(扩展运算符)剩余参数

    一.函数默认参数 1.旧函数默认参数写法 2.新函数默认参数写法 二.函数参数默认已经定义了,不能再使用let,c...

  • Python函数的非固定参数

    一、概述 在原来的文章中我已经写了,位置参数和关键字参数,下面我们来谈谈默认参数和参数组 二、默认参数 默认参数指...

网友评论

      本文标题:04-默认参数

      本文链接:https://www.haomeiwen.com/subject/acidsqtx.html