内联函数
内联函数是C++语言为降低小程序用开销而采取的一种机制。
定义内联函数的方法是,在函数名第一次出现时,在函数名之前冠以关键字inline。通常在函数原型中指定。若已在函数原型中指定inline,则函数定义时不能重复给出。
内联函数原型为:inline 类型 函数名(形式参数表);
内联函数的调用方法与其他普通函数相同。
说明:
①若inline不在函数名第一次出现时指定,则编译器把它当做普通函数处理。
②一般内联函数只适合于1-5行的小程序。在内联函数中,不能含有复杂的流程控制语句。例如,不能含有多分支语句和循环语句,否则inline无效。
③递归函数不能说明为内联函数。
重载函数
C++语言允许定义多个重名函数,各个函数有不同的参数集,这些函数称为重载函数。编译器根据不同参数的类型和个数产生调用匹配。函数重载常用于生成几个类似任务而处理不同数据个数、类型的同名函数。
C++编译器只根据函数参数表(参数类型和个数)进行重载版本的调用匹配,函数返回值的内容不起作用。例如:
int average(int,int);
double average(int,int);
这两个不是重载函数,C++编译器认为函数重复说明。
例外,要注意重载函数中使用默认函数时可能产生的二义性。例如,若max重载函数定义为:
int max(int,int);
int max(int,int=0);
则调用max(5,3)
无法选择调用版本。