c++语法之缺省参数

时间:2024-07-09 11:00:10

缺省参数通俗来说就是一个函数里面有初值的参数。有初值那么就可以不传参。

基础语法

缺省分为全缺省和半缺省

全缺省

我们来看它的基础语法,我们以add函数为例:

语法基础就是在给要规定成缺省参数的变量后面=一个值

我们可以看到给add传参就会使用默认的数据。

半缺省

 半缺省就是既有实参(不是缺省参数)又有缺省参数的。它的语法是差不多的,但是缺省参数和非缺省参数的顺序是有规定的,我们看下面注意事项。

注意事项

这里定义半缺省参数不是随便定义的,比如第一个定义缺省参数,第二个就不定义为缺省参数,这样是错误的。

这里规定:

我们的缺省参数全部靠右边,我们定义了缺省参数后后面的参数就不能是实参了,如图理解

这是规定成这样的,而我的理解是:这样规定,函数传参就都是这样的:add(a,b,c)

如果不是这种规定,那么传参就是add(a,  ,b,c, , , ,d),这样写会觉得很乱,所以按上面方法是有调理性的。

缺省参数的用途

我们编写顺序表数据结构的时候,会有一个初始的内存创建,那么我们就可以定义一个缺省参数来决定我们开始开辟多少个内存。

如果我们不清楚开多少,我们就可以把初始值设为4,如果我们清楚是要插入1k个数据,那么直接初始化1k个就行了。

这样的好处就是,我们直接创建1k个数据可以避免我们频繁使用realloc来扩容,这样定义直接避免了扩容带来的性能损耗。

另外其他的例子等待大家去发掘。