缺省参数:
用法:缺省参数是声明或定义函数时为函数的参数指定一些默认值。在调用时,若没有给实参,就用默认值,若给定实参,就用实参的值。
缺省参数又分为全缺省参数和半缺省参数:
当声明和定义分离时,只能在声明中出现缺省参数。 当声明和定义一起出现时,就不存在在哪个中出现了。。。
- 全缺省参数:
- 半缺省参数:(切记使用半缺省参数时缺省值必须从最右边开始,且不能间隔给出)
函数重载:
函数重载的目的是为了解决功能相同但数据类型不同的函数。但是这些函数的参数列表(参数个数,类型,顺序)必须不同。
- 参数类型不同
那么在C++中的函数重载的原理是什么呢?
- 首先我们要知道一个程序运行起来经过了以下四个步骤:预处理,编译,汇编,链接。
在C++的底层,有重命名机制,其也考虑返回值的问题。
在VS中我们可以看到,编译器在底层用的是一个更复杂的名字(包括函数的名字和参数类型)。所以只要参数列表不同,编译器在编译时对函数名字进行重新修饰,实现函数重载。
注意:函数重载必须是参数列表的不同,与其返回值无关。