c++ mooc 内联函数 函数重载

  • 内联函数

函数调用有时间开销,特别是函数本身语句少但多次被调用,为减少调用开销引入内敛函数

编译器处理内联函数时,将内敛函数的语句插入到调用语句处而不产生具体调用

加 inline 关键字

inline int max(){
    if(a>b) return a;
    return b;
}

弊端:可执行程序的体积变大

  • 函数重载

一个或多个函数名字和返回类型相同,但参数类型和个数不同

编译器根据调用语句中的实参个数类型判断是哪个函数

int max(int a, int b){}
int max(double a, double b, int c){}
int max(int a, int b, double c){}

函数重载二义性

max(3.4,3.6,3.8)  //不知道是第二个还是第三个max

如果名字和参数表完全相同,返回类型不同,叫做函数重定义

  • 函数的缺省
int func(int a; int b=1; int c=20);  //则第一个参数必须写,后两个可缺省

必须是函数最右边的若干个参数才能设置为缺省值,以上述为例,当b缺省时,c必须也缺省;当c缺省时,b可以不缺省

函数的缺省可提高程序的可扩充性

猜你喜欢

转载自blog.csdn.net/scarletteshu/article/details/103396157