C++缺省参数的理解
目录
- 什么叫缺省参数?
- 缺省多个参数的情况
- 1.全缺省
- 2.半缺省
- 总结
什么叫缺省参数?
缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该默认值,否则使用指定的实参。
注意:要想省略参数,声明或者定义内必须指定默认值
void TestFunc(int a = 0) { cout<<a<<endl; } int main() { TestFunc(); // 没有传参时,使用参数的默认值 TestFunc(10); // 传参时,使用指定的实参 }
第一次调用时没有传参,默认使用定义中的参数值
第二次调用时指定实参,使用了指定的实参
有没有一种备胎的感觉,你给我了我就用你的,你不给我我还有备用的
缺省多个参数的情况
1.全缺省
即传参数所有参数都省略(会默认使用定义或声明的参数)
2.半缺省
比如应该传两个参数但直传了一个,应该传三个只传了两个,参数传的数量不全
感受一下很容易理解:
注意:
1.缺省参数不能间隔着给,必须依次给
2.缺省参数不能在函数声明和定义中同时出现(如果默认值不同编译器会不确定该使用 哪一个缺省值)
3.缺省值必须是常量或者全局变量
4.c语言编译器不支持
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!
相关推荐
-
Scala可变参数列表,命名参数和参数缺省详解
重复参数 Scala在定义函数时允许指定最后一个参数可以重复(变长参数),从而允许函数调用者使用变长参数列表来调用该函数,Scala中使用"*"来指明该参数为重复参数.例如: scala> def echo (args: String *) = | for (arg <- args) println(arg) echo: (args: String*)Unit scala> echo() scala> echo ("One") One sca
-
C++入门(命名空间,缺省参数,函数重载,引用,内联函数,auto,范围for)
一.C++关键字 C++总共有63个关键字,在入门阶段我们只是大致了解一下就可,在后续博客中会逐渐讲解 二.命名空间 相信学过C++的同学,一定都写过下面这个简单的程序 #include<iostream> using namespace std; int main() { cout<<"hello world"<<endl; return 0; } 我们先来看第二行代码,using namespace std , 这行代码是什么意思呢 ? 这里我们
-
c语言中缺省参数的类型总结
1.函数全缺省参数,函数在定义或者声明时,所有的形参都默认值. #include <stdio.h> //x,y为函数的形参,如果函数被调用时,没有设置x和y值,x值默认为100,y值默认为5 int sub(int x=100,int y=5) { return (x-y); } int main(void) { int a=20; int b=10; //变量a.b为sub函数的实参 printf("sub函数计算结果 = %d\n",sub(a, b)); //注意:
-
C语言 函数缺省参数详情
目录 一.函数简介 1.函数声明 2.函数定义 3.函数调用 4.函数形参和实参 二.函数缺省参数 1.函数全缺省参数 2.函数半缺省参数 三.注意事项 一.函数简介 1.函数声明 函数声明只是一个空壳,不会有具体的函数实现,而定义要实现函数的实现,例如: int sub(int x,int y); //只需要声明即可,不需要实现这个函数的功能 2.函数定义 函数的定义需要实现这个函数的功能,例如: int sub(int x,int y) ////需要实现这个函数的功能 { return (x
-
C++中构造函数的参数缺省的详解
C++中构造函数的参数缺省的详解 前言: 构造函数中参数的值既可以通过实参传递,也可以指定为某些默认值,即如果用户不指定实参值,编译系统就使形参取默认值.在构造函数中也可以采用这样的方法来实现初始化. #include <iostream> using namespace std; class A { public : A(int aa=0,int bb=00); //在声明构造函数时指定默认参数 int volume( ); int a; int b; }; int main( ) { A
-
Django的URLconf中使用缺省视图参数的方法
一个方便的特性是你可以给一个视图指定默认的参数. 这样,当没有给这个参数赋值的时候将会使用默认的值. 例子: # urls.py from django.conf.urls.defaults import * from mysite import views urlpatterns = patterns('', (r'^blog/$', views.page), (r'^blog/page(?P<num>\d+)/$', views.page), ) # views.py def page(r
-
C++缺省参数的理解
目录 什么叫缺省参数? 缺省多个参数的情况 1.全缺省 2.半缺省 总结 什么叫缺省参数? 缺省参数是声明或定义函数时为函数的参数指定一个默认值.在调用该函数时,如果没有指定实参则采用该默认值,否则使用指定的实参. 注意:要想省略参数,声明或者定义内必须指定默认值 void TestFunc(int a = 0) { cout<<a<<endl; } int main() { TestFunc(); // 没有传参时,使用参数的默认值 TestFunc(10); // 传参时,使用
-
关于C# 4.0新特性“缺省参数”的实现详解
前言 C#4.0关于缺省参数的新特性,相信大家都不会陌生.所谓缺省参数,顾名思义,就是在声明方法的某个参数的时候为之指定一个默认值,在调用该方法的时候如果采用该默认值,你就无须指定该参数.和很多语言层面特性(语法糖)的实现一样,缺省参数也是编译器为我们玩的一个小花招.缺省参数最终体现为两个特殊的自定义特性OptionalAttribute和DefaultParameterValueAttribute . 目录 一.缺省参数的用法 二.实现缺省参数的两个特性:OptionalAttribute和D
-
Java ThreadPoolExecutor的参数深入理解
Java ThreadPoolExecutor的参数深入理解 一.使用Executors创建线程池 之前创建线程的时候都是用的Executors的newFixedThreadPool(),newSingleThreadExecutor(),newCachedThreadPool()这三个方法.当然Executors也是用不同的参数去new ThreadPoolExecutor 1. newFixedThreadPool() 创建线程数固定大小的线程池. 由于使用了LinkedBlo
-
python 函数的缺省参数使用注意事项分析
本文实例讲述了python 函数的缺省参数使用注意事项.分享给大家供大家参考,具体如下: python的函数支持4种形式的参数:分别是必选参数. 缺省参数. 可变长参数.关键字参数:而且参数的书写顺序也是又一定规定的,顺序如下 def fun(param, default_params, arbitrary_params, keyword_param) 下面针对缺省型参数分析一些注意事项 先定义这样子一个函数 def test_fun(a=[]): a.append('a') print a i
-
对python pandas中 inplace 参数的理解
pandas 中 inplace 参数在很多函数中都会有,它的作用是:是否在原对象基础上进行修改 inplace = True:不创建新的对象,直接对原始对象进行修改: inplace = False:对数据进行修改,创建并返回新的对象承载其修改结果. 默认是False,即创建新的对象进行修改,原对象不变,和深复制和浅复制有些类似. 例: inplace=True情况: import pandas as pd import numpy as np df=pd.DataFrame(np.rand
-
C++缺省参数的具体使用
目录 一.缺省参数概念 二.缺省参数分类 全缺省参数 半缺省参数 缺省参数的误区 1.滥用缺省参数,损害代码的结构和可读性. 2.多个缺省参数,可能引入逻辑含混的调用方式 3.重载时可能出现二义性 4.函数调用中的精神分裂症 一.缺省参数概念 缺省参数是声明或定义函数时为函数的参数指定一个默认值.在调用该函数时,如果没有指定实参则采用该默认值,否则使用指定的实参 #include<iostream> using namespace std; void TestFunc(int a = 0)//
-
C++的缺省参数你了解嘛
目录 一.缺省参数概念 有什么用 二.缺省参数分类 全缺省参数 半缺省参数 总结 一.缺省参数概念 缺省参数是声明或定义函数时为函数的参数指定一个默认值.在调用该函数时,如果没有指定实参则采用该默认值,否则使用指定的实参 #include<iostream> using namespace std; void TestFunc(int a = 0)//参数缺省值 { cout << a << endl; } int main() { TestFunc();//没有指定实
随机推荐
- 快速获取/设置iframe内对象元素的几种js实现方法
- PHP中date()日期函数有关参数整理
- PHP GD库生成图像的几个函数总结
- 解析Silverlight调用WCF/Rest异常的解决方法
- 嵌入式iframe子页面与父页面js通信的方法
- 关于foreach循环中遇到的问题小结
- ASP.NET三层架构详解 如何实现三层架构
- Android 使用Vitamio打造自己的万能播放器(10)—— 本地播放 (缩略图、视频信息、视频扫描服务)
- Oracle数据库rownum和row_number的不同点
- javascript的BOM
- Apache之AllowOverride参数使用说明
- 显示内存状态示例分享
- Java synchronized关键_动力节点Java学院整理
- 实例讲解javascript实现异步图片上传方法
- Android仿iPhone日期时间选择器详解
- Jenkins安装以及邮件配置详解
- 常用JavaScript正则表达式汇编与示例详解
- Python中 map()函数的用法详解
- 详解利用OpenCV提取图像中的矩形区域(PPT屏幕等)
- SQL Server怎么找出一个表包含的页信息(Page)