imooc 学习总结——离港篇:C++函数新特性

来源:互联网 发布:视图mysql 编辑:程序博客网 时间:2024/06/03 01:41

函数参数默认值

void fun( int i, int j=5, int k = 10); //truevoid fun( int i, int j = 5, int k); // false

  • 有默认参数值的参数必须在参数表的最右端
//声明函数void fun( int i, int j=5, int k = 10); //定义函数void fun( int i, int j, int k ); {  cout<<i<<j<<k<<endl;}//调用函数int main(){  fun(20);// i=20,j=5,k=10;  fun(20,30);// i=20,j=30,k=10;  fun(20,30,40); // i=20,j=30,k=40  return 0;}

  • 声明函数时可以带参数,定义函数时不要带参数;
  • 无实参则用默认值,否则实参覆盖默认值

函数 重载

什么是函数重载?
答:在相同作用域内
用同一个函数名定义的多个函数
参数个数和参数类型不同

例:

int  getMax(int x,int y,int z);double  getMax(double x,double y);

内联函数

内联函数关键字:inline

普通函数和内联函数的区别,图片转自imooc

inline int max(int a,int b,int c);int main(){ int i = 10,j = 20, k = 30,m; m = max(i,j,k); cout<<"max="<<m<<endl; return 0;}
       ↓↓ ↓↓
   int main(){ int i = 10,j = 20, k = 30,m; int a,b,c; a = i ; b = j; c = k; if(b>a) a = b; if(c>a) a = c;  m = a; cout<<"max="<<m<<endl; return 0;} 
  • 内联编译时建议性的,由编译器决定。
  • 逻辑简单,条用频繁的函数(比如使用for、while循环)建议使用内联。
  • 递归函数无法使用内联方式。
0 0
原创粉丝点击