浅谈C++中内联函数应用.docVIP

  • 1
  • 0
  • 约2.62千字
  • 约 7页
  • 2018-11-02 发布于福建
  • 举报
浅谈C中内联函数应用

浅谈C++中内联函数应用   摘 要:本文着重探究内联的优点与局限性,说明什么情况下应该采用、不该采用以及要警惕错用。   关键词:C语言;C++;内联函数   对比于C语言的函数,C++增加了重载、内联、const和virtual四种新机制。其中重载和内联机制既可用于全局函数也可用于类的成员函数,const与virtual机制仅用于类的成员函数。重载和内联肯定有其好处才会被C++语言采纳,但是不可以当成免费的午餐而滥用。   1 用内联取代宏代码   C++语言支持函数内联,其目的是为了提高函数的执行效率。在C程序中,可以用宏代码提高执行效率。宏代码本身不是函数,但使用起来象函数。预处理器用复制宏代码的方式代替函数调用,省去了参数压栈、生成汇编语言的CALL调用、返回参数、执行return等过程,从而提高了速度。使用宏代码最大的缺点是容易出错,预处理器在复制宏代码时常常产生意想不到的边际效应。   例如“#define MAX(a,b) (a)(b)?(a):(b)”语句“result=MAX(i,j)+2;”将被预处理器解释为“result=(i)(j)?(i):(j)+2;”由于运算符‘+’比运算符‘:’的优先级高,所以上述语句并不等价于期望的“result=((i)(j)? (i):(j))+2;”。如果把宏代码改写为“ #define MAX(a,b)((a

文档评论(0)

1亿VIP精品文档

相关文档