1 inline 内联函数
必须inline int myfunc(int a, int b)和函数体的实现,写在一块。 c++编译器直接将函数体插入在函数调用的地方,
内联函数省去了普通函数调用时的压栈,跳转,返回等开销。
现代的一些C++编译器能够进行编译优化,即使不写inline 关键字 定义函数,也可以进行优化。
2 默认参数
c++中可以在函数声明时,为参数提供一个默认值,当函数调用没有指定这个参数的值,编译器会自动用默认值代替。
1.只有参数列表后面的部分的参数才可以提供默认参数值。
(也就是说,不可以在一个默认参数后面跟一个非默认的参数)
2.一旦在一个函数调用中开始使用默认参数,那么这个参数后面的所有参数都必须是默认的。
3 函数占位参数
占位参数只有参数类型的声明,而没有参数名声明。 函数调用时,必须写够参数个数。
使用占位参数,一般用于程序扩展和对C代码的兼容。如果默认参数和占位参数在一起,都能调用起来。
4 函数重载
用同一个函数名定义不同的函数,即允许存在多个同名函数,但这些函数的参数表不同
函数重载是反生在一个类中里面
函数重载的判断标准:
- 参数个数不同
- 参数类型不同
- 参数顺序不同
重载函数的本质: 相互独立的不同的函数(静态链编)
当函数重载遇上默认参数函数,得注意是否产生二义性。
本文深入探讨了C++中内联函数、默认参数及函数重载的概念,包括如何定义内联函数以提高性能,如何在函数声明中设置默认参数以简化调用,并详细解释了函数重载的规则与应用。同时,文章还讨论了如何避免函数重载带来的二义性问题。
503

被折叠的 条评论
为什么被折叠?



