C++函数特性

  1. 函数参数默认值:

       比较两个函数默认值的正确性:

       void  fun(int i, int j = 5, int k = 10); (正确)

       void  fun(int i, int j = 5, int k); (错误)

   ------------有函数参数值的参数必须在参数列表的最右端!

  2. 使用时的一些注意事项:

      ① 为了避免某些编译器不通过,建议在声明时给函数加默认值,定义时最好不要加默认值;

       例如: void fun(int  i, int j = 5, int k = 10); -----推荐

                   void fun(int  i, int j = 5, int k = 10) { cout << i << j << k ;} ---- 不推荐


      使用时:

              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 1;

             }

        结论:无实参使用默认值; 否则实参代替默认值;

2. 函数重载:

     在相同的作用域内满足两个条件:① 用同一函数名定义的多个函数; ②参数个数和参数类型不同; 互称为重载

     int  getMax(int x, int y, int z) { // to do}

     double getMax(double x, double y) { // to do}

     编译器如何识别重载?

     名称相同,参数个数不同------名称和类型,自动识别

     重载的好处?

     在某些场合下,函数的名称相同时合适的;提高编码效率;

3. 内联函数(inline):

    编译时将函数体代码和实参代码函数调用语句,节省了时间,提高了效率,尤其是在循环调用的时间;

    定义方式:

    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;

   }

   思考:为什么不所有函数都使用内联方式呢?

   ① 内联是建议性的,由编译器决定;

   ② 逻辑简单(其中不包括for, while复杂的逻辑结构),调用频繁的函数建议使用

   ③ 递归函数无法使用内联方式;



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值