7.宏与内联函数

大城市里の小女人 提交于 2019-11-28 16:22:24

作用:减少函数调用需要的开销,提高函数调用时的程序执行效率。

宏:

      宏是C++编译预处理系统处理的实体。

      宏定义的4种格式:

1)#define <宏名> <文字串>

      在编译前进行使用文字串进行宏替换

      #define PI 3.14

2)#define <宏名>(<参数表>) <文字串>

      在编译前进行使用文字串进行宏替换

      #define max(a,b) a>b?a:b

3)#define <宏名>


   
              #ifdef OUTPUTFILE
              //输出到文件的代码
              #endif

4)#undef <宏名> 

      用于取消宏名的编译

 

不足:1)重复计算,如max((x+1),(y+2)),因为其只是进行单纯的文字替换

           2)不进行参数类型检查和转换

 

内联函数:

       在函数定义中的返回值类型之前加上一个关键字 inline

       其作用是建议(具体有没有不一定,有些函数加上也不会作为内联函数对待,如递归函数)编译程序把该函数的函数体展开到调用点,这样就避免了函数调

用的开销,从而提高了函数调用的效率。

       如:

           inline int max(int a,int b)

           {return a>b?a:b;}

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!