学习笔记(一):inline内联函数

来源:互联网 发布:it行业新闻 编辑:程序博客网 时间:2024/04/30 16:45

    学习笔记(一):inline内联函数


C++中关键字

   inline取代了C语言中表达形式的宏定义。如:#define MYFUNC(value1,value2)((value1-value2)/(value1+value2));


表达形式的宏:

         1.表达形式的宏定义效率很高,使用预处理实现,没有参数压栈、代码生成等一系列操作;

         2.在使用时,预处理仅仅是做了简单替换,参数类型没有检测;

         3.无法使用类保护成员;

         4.返回值无法做类型转换。

inline关键字:

         1.使用inline后,增加了编译器的参数类型检测,像普通函数一样严格;

         2.内联函数的返回值使用方式同普通函数;

         3.内联函数作为类的成员函数,正常使用类的成员;

    总之,内联函数继承了宏定义表达式的优点,取消了宏定义表达式的缺点。

使用方式:

    内联函数适用于简单的表达式,任何使用的地方都会简单的展开。如果函数过大,会造成代码膨胀反而带来坏处,一般用于类的存取函数

    inline关键字只是给编译器一个建议。如果上百行的代码,编译器会自动转换成普通函数去处理。如果在类内定义int GetID(){return m_nID};

这样简短的函数,编译器也会自动按inline函数处理。





一直以来只在CSDN上搜索问题,看看咨询,深深被各种大神折服。

    书山有路勤为径,学海无涯苦作舟。

         ----特开此博客记录学习道路上的点点滴滴,如有错误还请各位大神多多指教。


0 0
原创粉丝点击