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语言 函数缺省参数详情
目录 一.函数简介 1.函数声明 2.函数定义 3.函数调用 4.函数形参和实参 二.函数缺省参数 1.函数全缺省参数 2.函数半缺省参数 三.注意事项 一.函数简介 1.函数声明 函数声明只是一个空壳,不会有具体的函数实现,而定义要实现函数的实现,例如: int sub(int x,int y); //只需要声明即可,不需要实现这个函数的功能 2.函数定义 函数的定义需要实现这个函数的功能,例如: int sub(int x,int y) ////需要实现这个函数的功能 { return (x
-
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)); //注意:
-
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++中构造函数的参数缺省的详解
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
-
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.全缺省 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();//没有指定实
随机推荐
- C#开发之微信小程序发送模板消息功能
- python Django连接MySQL数据库做增删改查
- jQuery检查元素存在性(推荐)
- asp.net显示图片到指定的Image控件中 具体实现
- CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录
- 检测codeigniter脚本消耗内存情况的方法
- 简单的asp采集代码教程
- 详解hbase与hive数据同步
- jQuery移动端图片上传组件
- 解析dom中的children对象数组元素firstChild,lastChild的使用
- DOS下的必备工具
- MongoDB学习笔记(一) MongoDB介绍与安装方法
- Jquery 分页插件之Jquery Pagination
- 解决Android手机屏幕横竖屏切换
- C#面向对象特征的具体实现及作用详解
- JavaScript实现简易的天数计算器实例【附demo源码下载】
- Java微信公众平台开发(12) 微信用户信息的获取
- C#难点逐个击破(2):out返回参数
- C#类的创建与初始化实例解析
- Android实现简易记事本