`
java-mans
  • 浏览: 11817687 次
文章分类
社区版块
存档分类
最新评论

C++ 缺省参数

 
阅读更多

C++语言,允许参数表中包含无名参数,主要是为了区分函数,例如:
int f(int a,int b){return a+b*b;}
int f(int a,int b,int){return a*a+b;}
两个不同的函数同名,但由于第二个函数包含一无名参数,使得在调用时能够被区分,f(x,y)是第一个函数的调用,f(x,y,0)是第二个函数的调用。
C++程序还允许为函数定义可缺省参数,这种函数调用时具有灵活性,例如:
int sqrsum(int a,int b,int c=0){
return a*a+b*b+c*c;
}
其中参数 c 为可缺省参数,下面的调用方式都是合法的(x,y,z 为int 型变量):
sqrsum(x,y,z)
sqrsum(x+y,x-y)
sqrsum(x,y)
参数表中可有任意多个参数指定为可缺省参数,但所有可缺省参数必须列后。在调用该函数时,一般不允许部分缺省,即要么省去全部缺省参数,要么一个也不省。

  缺省参数同函数重载一样,给程序员提供了很多方便,它们都使我们可以在不同的场合使用同一名字。不同之处是,当我们不想亲手提供这些值时,由编译器提供一个缺省参数。有时可用缺省参数代替函数重载。用函数重载我们得把一个几乎同样含义、同样操作的函数写两遍甚至更多。当然,如果函数之间的行为差异较大,用缺省参数就不合适了。


分享到:
评论

相关推荐

    c++之第五函数重载与缺省参数

    在C++编程语言中,函数重载(Overloading)和缺省参数(Default Arguments)是两个重要的特性,它们极大地增强了代码的灵活性和可读性。本文将深入探讨这两个概念及其在实际编程中的应用。 首先,函数重载允许我们...

    人员类 c++(构造函数 复制构造函数 缺省参数列表)

    C++类和对象练习 构造函数 复制构造函数 缺省参数列表

    决不要重新定义继承而来的缺省参数值

    本篇文章聚焦于“决不要重新定义继承而来的缺省参数值”的原则,该原则出自权威指南《Effective C++》。我们将深入探讨这一规则背后的原因、潜在的问题以及如何避免这些问题。 #### 什么是缺省参数? 在C++中,...

    C++编程入门教程,C++的缺省参数、函数重载,引用 和 内联函数

    C++的命名空间的一些知识点以及关于C++的缺省参数、函数重载,引用 和 内联函数。也相信大家都掌握的不错,接下来博主将会带领大家继续学习有关C++比较重要的知识点——类和对象(拷贝构造函数、赋值运算符重载、...

    Python 缺省参数-指定函数缺省参数的默认值

    Python解释器易于扩展,可以使用C语言或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。Python也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器...

    函数参数缺省与重载,命名和缺省规则

    函数缺省参数是另一种便利的特性,它允许我们在定义函数时为某些参数提供默认值。当调用函数时,如果没有显式提供这些参数的值,编译器就会使用默认值。这减少了编写重复代码的需求,提高了代码的可读性。例如,一个...

    c++编程思想 内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数

    全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...

    cpp 缺省参数课堂笔记

    cpp 缺省参数课堂笔记

    C++中构造函数的参数缺省的详解

    C++中构造函数的参数缺省的详解 前言: 构造函数中参数的值既可以通过实参传递,也可以指定为某些默认值,即如果用户不指定实参值,编译系统就使形参取默认值。在构造函数中也可以采用这样的方法来实现初始化。 #...

    C++ 编程思想 象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚函数、模板和包容器类、多重继承、异常处理和运行时类型识别

    全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...

    Python 缺省参数-回顾列表的排序方法明确缺省参数的概念及作用

    Python解释器易于扩展,可以使用C语言或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。Python也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器...

    Thinking in C++ 英文版

    全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...

    东软C++培训课件

    5. 缺省参数:C++允许在函数定义中设定缺省参数,使得在调用时可以不提供某些参数的值。 6. 动态内存管理:C++提供了`new`和`delete`操作符来动态分配和释放内存,相比C语言的`malloc`和`free`,更加方便且具有更强...

    Thinking in C++中文版(C++编程思想)

    全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...

    thinking in c++中英文版本

    全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...

    Thinking c++中文版

    全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...

    C++编程思想,进一步理解c++

    全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...

    C++编程思想.Thinking in C++

    全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...

    c++编程思想c++编程思想<第二版>

    全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...

Global site tag (gtag.js) - Google Analytics