zoukankan      html  css  js  c++  java
  • C/C++ 内联函数

    1. 内联函数具备一般函数的性质,但是不需要调用,而是在编译阶段,会用函数体替换函数名被调用的地方。可以节省调用时间(进出栈、保存上下文)。
    2. 在编译层面和宏的作用相同。内联函数的展开在编译阶段,宏展开在预处理阶段,一般函数执行时调用转移。
    3. 内联函数可以替代宏,弥补宏的一些缺陷。例如宏不能访问类内部的变量,宏定义时参数如果是计算式常出问题。
    4. 内敛函数使用的要求:
      1. 递归函数不能用作内联函数
      2. 内联函数一般不适合用于包含while等复杂结构的语句,一般都是1~5句简单句
      3. 先定义后使用
      4. 定义时必须连同函数体一起声明
    5.  1 //inline example
       2 
       3 int main(){
       4      void print(int x){
       5             printf("%d ",x);
       6       }
       7     for( int i=0; i<100; i++ )
       8         print(i);
       9     return 0;
      10 }
      11 
      12 // another example
      13 inline void print( int x ){
      14     printf("%d",x);
      15 }
      16 
      17 int main(){
      18     for( int i=0; i<100; i++ )
      19         print(i);
      20     return 0;
      21 }
      22 
      23 //macro example
      24 #define ZERO_MAX(x) ( ( (x) > 0 ) ? (x) : 0 );
  • 相关阅读:
    第一周。。。
    新人日报1129
    Daily Report-1126
    How to read source code[repost]
    Markdown tutorial [repost]
    蘑菇街面经
    阿里面经
    百度凤巢一二面经
    Mybatis最入门---代码自动生成(generatorConfig.xml配置)
    Maven的生命周期阶段
  • 原文地址:https://www.cnblogs.com/hf-cherish/p/4460256.html
Copyright © 2011-2022 走看看