OOP 1.4 内联函数和重载函数函数参数缺省值

1、内联函数

  • 存在的背景:函数调用存在开销(调用时候参数压栈,返回地址压栈;返回时从栈取出返回地址,跳转到返回地址。总共需要几条指令的开销)。如果函数指令较少,调用多次,函数调用的开销占比大。
  • 内联函数的处理:编译器处理对内联函数的调用语句时,将整个函数代码插入到调用语句处,不会产生函数的语句。
  • 使用:在函数定义前面加入inline关键字
    • e.g. inline int max(int num1,int num2)
  • 弊处:可能会增大可执行程序的大小

2、函数重载

  • 定义:一个或多个函数,名字相同,参数个数和类型不同。(如果是名字相同,参数表相同,返回值不同,不是重载是重复定义
  • e.g. int Max(double f1,double f2) int Max(int n1,int n2) int Max(int n1,int n2,int n3)为函数的重载
  • 作用:使得函数的命名简单
  • 编译过程:编译器通过调用语句的实参个数和类型判断调用的函数

3、函数的缺省参数

  • 定义:定义函数的时候可以让最右边的连续若干个参数有缺省值,调用函数的时候,相应位置不传入参数,参数就是缺省(不能是中间的某个参数缺省)
  • 目的:提高程序的可扩充性
    • 如果已经写好的函数需要添加新的参数,可原来调用该函数的语句未必需要增加参数,使用缺省参数,可以避免对原来调用该函数的修改
posted @ 2018-02-17 20:13  fzu_Y  阅读(224)  评论(0编辑  收藏  举报