您的位置:首页 > 编程语言 > C语言/C++

C++对C的函数扩展

2015-07-21 23:11 295 查看
1  inline  内联函数

 必须inline int myfunc(int a, int b)和函数体的实现,写在一块。 c++编译器直接将函数体插入在函数调用的地方,
 内联函数省去了普通函数调用时的压栈,跳转,返回等开销。
现代的一些C++编译器能够进行编译优化,即使不写inline 关键字 定义函数,也可以进行优化。

2      默认参数

c++中可以在函数声明时,为参数提供一个默认值,当函数调用没有指定这个参数的值,编译器会自动用默认值代替。

 1.只有参数列表后面的部分的参数才可以提供默认参数值。

(也就是说,不可以在一个默认参数后面跟一个非默认的参数)

  2.一旦在一个函数调用中开始使用默认参数,那么这个参数后面的所有参数都必须是默认的。

3 函数占位参数



占位参数只有参数类型的声明,而没有参数名声明。  函数调用时,必须写够参数个数。

使用占位参数,一般用于程序扩展和对C代码的兼容。如果默认参数和占位参数在一起,都能调用起来。

4 函数重载

用同一个函数名定义不同的函数,即允许存在多个同名函数,但这些函数的参数表不同

 函数重载是反生在一个类中里面

        函数重载的判断标准:

参数个数不同
参数类型不同
参数顺序不同

重载函数的本质:  相互独立的不同的函数(静态链编)

     

当函数重载遇上默认参数函数,得注意是否产生二义性。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  函数重载