函数的递归调用
内联函数:(适用于比较短小,功能简单,经常调用的函数)。该机制将函数体的代码直接插入到函数调用处,将函数调用的方式改为顺序执行的插入的程序代码,以此来节省调用函数的时间开销。以空间(存储)换时间的方式。
inline float max(float x,float y){
return (x>y?x:y);
}
1:除函数体内还有循环,switch和复杂嵌套的if语句外,所有的函数都可以定义为内联函数;
2:内联函数也是定义在前,调用在后,形参与实参要一一对应;
3:说明内联函数时,只是请求编译器调用时作为内联函数的扩展来实现,而不是命令;
4:内联函数时一种空间换取时间的方法,需要取舍。
函数重载:函数的重载和运算符的重载。(一个函数,多个入口)
同名函数,编译器根据函数实参的类型和个数来判断调用的具体函数形式。
int abs(int x){}
float abs(float x){}
double abs(double x){}
重载函数之间必须在参数的类型和个数方面有所不同,只是返回值不同的函数不是函数的重载。
带有默认值参数的函数
float test(float x,float y=10;float z=20){}
默认参数的声明必须出现在函数调用之前;
默认参数个数不限,单所有的默认参数必须放在参数列表的最后。
tanhao2013@foxmail.com || http://weibo.com/buttonwood