iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++的缺省参数你了解嘛
  • 321
分享到

C++的缺省参数你了解嘛

2024-04-02 19:04:59 321人浏览 独家记忆
摘要

目录一、缺省参数概念有什么用 二、缺省参数分类全缺省参数 半缺省参数 总结一、缺省参数概念 缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用

一、缺省参数概念

缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该默认值,否则使用指定的实参

#include<iOStream>
using namespace std;
void TestFunc(int a = 0)//参数缺省值
{
	cout << a << endl;
}
int main()
{
	TestFunc();//没有指定实参,使用缺省值
	TestFunc(10);//指定实参,使用实参
	return 0;
}

有什么用 

比如在 C 语言中有个很苦恼的问题是写栈时,不知道要开多大的空间,之前我们是如果栈为空就先开 4 块空间,之后再以 2 倍走,如果我们明确知道要很大的空间,那么这样就只能一点一点的接近这块空间,就太 low 了。但如果我们使用缺省,明确知道不需要太大时就使用默认的空间大小,明确知道要很大时再传参

#include<iostream>
using namespace std;
namespace WD
{
	struct Stack
	{
		int* a;
		int size;
		int capacity;	
	};
}
using namespace WD;
void StackInit(struct Stack* ps)
{
	ps->a = NULL; 
	ps->capacity = 0;
	ps->size = 0;
}
void StackPush(struct Stack* ps, int x)
{
	if(ps->size == ps->capacity)
	{
		//ps->capacity *= 2;//err
		ps->capacity == 0 ? 4 : ps->capacity * 2;//这里就必须写一个三目
	}
}
void StackInitcpp1(struct Stack* ps, int defaultCP)
{
	ps->a = (int*)malloc(sizeof(int) * defaultCP);
	ps->capacity = 0;
	ps->size = defaultCP;
}
void StackInitCpp2(struct Stack* ps, int defaultCP = 4)//ok
{
	ps->a = (int*)malloc(sizeof(int) * defaultCP);
	ps->capacity = 0;
	ps->size = defaultCP;
}
int main()
{
	//假设明确知道这里至少需要100个数据到st1
	struct Stack st1; 
	StackInitCpp1(&st1, 100);
	//假设不知道st2里需要多少个数据 ———— 希望开小点
	struct Stack st2;  
	StackInitCpp2(&st1);//缺省
	return 0;
}

二、缺省参数分类

全缺省参数 

void TestFunc(int a = 10, int b = 20, int c = 30)
{
	cout << "a = " << a << endl;
	cout << "b = " << b << endl;
	cout << "c = " << c << endl;
	cout << endl;
}
int main()
{
	//非常灵活,
	TestFunc();
	TestFunc(1);
	TestFunc(1, 2);
	TestFunc(1, 2, 3);	
	//TestFunc(1, , 3);//err,注意它没办法实现b不传,只传a和b,也就是说编译器只能按照顺序传
	return 0;
}

注意:

全缺省参数只支持顺序传参

半缺省参数 

//void TestFunc(int a, int b = 10,  int c = 20);//err,void TestFunc(int a, int b = 10,  int c = 20){cout << "a = " << a << endl;cout << "b = " << b << endl;cout << "c = " << c << endl;cout << endl;}int main(){//TestFunc();//err,至少得传一个,这是根据形参有几个非半缺省参数确定的TestFunc(1);TestFunc(1, 2);TestFunc(1, 2, 3);return 0;}//void TestFunc(int a, int b = 10,  int c = 20);//err,
void TestFunc(int a, int b = 10,  int c = 20)
{
	cout << "a = " << a << endl;
	cout << "b = " << b << endl;
	cout << "c = " << c << endl;
	cout << endl;
}
int main()
{
	//TestFunc();//err,至少得传一个,这是根据形参有几个非半缺省参数确定的
	TestFunc(1);
	TestFunc(1, 2);
	TestFunc(1, 2, 3);	
	return 0;
}
//a.hvoid TestFunc(int a = 10);//a.cppvoid TestFunc(int a = 20){}

注意:

  • 半缺省参数必须从右往左依次来给出,且不能间隔着给
  • 缺省参数不能在函数声明和定义中同时出现
  • 缺省值必须是常量或者全局变量
  • C 语言不支持缺省

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容! 

--结束END--

本文标题: C++的缺省参数你了解嘛

本文链接: https://www.lsjlt.com/news/162057.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++的缺省参数你了解嘛
    目录一、缺省参数概念有什么用 二、缺省参数分类全缺省参数 半缺省参数 总结一、缺省参数概念 缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用...
    99+
    2024-04-02
  • C++缺省参数的理解
    目录什么叫缺省参数?缺省多个参数的情况1.全缺省2.半缺省总结 什么叫缺省参数? 缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该默认...
    99+
    2024-04-02
  • C++缺省参数怎么理解
    本篇内容主要讲解“C++缺省参数怎么理解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++缺省参数怎么理解”吧!什么叫缺省参数?缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函...
    99+
    2023-06-21
  • C++浅析缺省参数的使用
    目录一. 概念二. 分类全缺省参数半缺省参数一. 概念 缺省参数(有些地方叫默认参数)是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该默认值,否...
    99+
    2024-04-02
  • C++缺省参数的具体使用
    目录一、缺省参数概念二、缺省参数分类❗ 全缺省参数 ❕❗ 半缺省参数 ❕缺省参数的误区1.滥用缺省参数,损害代码的结构和可读性。2.多个缺省参数,可能引入逻辑含混的调用方式3.重载时...
    99+
    2024-04-02
  • C++深入浅出讲解缺省参数
    目录缺省参数定义用法缺省参数 一般情况下,函数调用时的实参个数应与形参相同,但为了更方便地使用函数,C++也允许定义具有缺省参数的函数,这种函数调用时,实参个数可以与形参不相同。 定...
    99+
    2024-04-02
  • 如何使用C++缺省参数
    这篇文章将为大家详细讲解有关如何使用C++缺省参数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、缺省参数概念缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有...
    99+
    2023-06-26
  • C++缺省参数的概念是什么
    这篇文章主要介绍了C++缺省参数的概念是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++缺省参数的概念是什么文章都会有所收获,下面我们一起来看看吧。一、缺省参数概念缺省参数是声明或定义函数时为函数的参数...
    99+
    2023-06-26
  • C语言 函数缺省参数详情
    目录一.函数简介1.函数声明2.函数定义3.函数调用 4.函数形参和实参 二.函数缺省参数1.函数全缺省参数2.函数半缺省参数三.注意事项一.函数简介 1.函数声明 函数声明只是一个...
    99+
    2024-04-02
  • C/C++的内存管理你了解嘛
    目录C/C++内存分布C语言中动态内存管理方式C++ 内存管理方式new和delete操作自定义类型new和delete的实现原理1.内置类型2.自定义类型malloc/free和n...
    99+
    2024-04-02
  • C++简明讲解缺省参数与函数重载的用法
    目录一、缺省参数1.1缺省参数概念1.2缺省参数分类二、函数重载2.1函数重载概念2.2名字修饰一、缺省参数 缺省参数形象来说就是"备胎"。 1.1缺省参数概念 ...
    99+
    2024-04-02
  • c语言中缺省参数的类型总结
    1、函数全缺省参数,函数在定义或者声明时,所有的形参都默认值。 #include <stdio.h> //x,y为函数的形参,如果函数被调用时,没有设置x和y值,x值...
    99+
    2024-04-02
  • C++命名空间和缺省参数介绍
    一、命名空间 为什么引入命名空间 在C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行...
    99+
    2024-04-02
  • C++缺省参数与函数重载怎么使用
    这篇文章主要介绍了C++缺省参数与函数重载怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++缺省参数与函数重载怎么使用文章都会有所收获,下面我们一起来看看吧。一、缺省参数缺省参数形象来说就是"...
    99+
    2023-07-02
  • 『C++成长记』C++入门——命名空间&缺省参数
     🔥博客主页:小王又困了 📚系列专栏:C++ 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、C++的认识 📒1.1什么是C++ &...
    99+
    2023-10-20
    c++ 开发语言 c语言
  • Python中方法的缺省参数问题解读
    目录Python 中方法的缺省参数问题测试代码预期代码分析Python 缺省参数 不定长参数python 缺省参数不定长参数总结Python 中方法的缺省参数问题 在Python...
    99+
    2022-12-19
    Python方法 方法的缺省参数 Python缺省参数
  • C++初阶教程之缺省参数与函数重载
    目录一.缺省参数1.概念2.分类3.注意二.函数重载1.概念2.C++支持函数重载的原理Linux的修饰规则总结一.缺省参数 C++祖师爷在用C写代码的时候,就觉得有些地方用着很不方...
    99+
    2023-05-17
    c++ 缺省参数 c++ 函数重载 c++缺省值怎么设置
  • C++线程安全的队列你了解嘛
    目录无界队列有界队列总结 无界队列 #include<queue> #include<mutex> #include<condition_variabl...
    99+
    2024-04-02
  • C语言中const和define的区别你了解嘛
    目录define和const使用const和define区别总结define和const使用 const和define区别 #include <stdio.h> #...
    99+
    2024-04-02
  • python的函数参数你了解吗
    目录前言位置传参关键字传参默认参数不定长参数混合使用问题创建时引用时总结前言 python参数类型和参数传递形式多样,相对于其他语言python使用会更加灵活。它传参形式一般分为两种...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作