关于inline的用法

C++中引入了关键字inline,我们称之为内联函数;
内联函数的作用体现在对于频繁调用的小函数上,太长代码的函数显然不适合声明为内联函数,这无疑会加大内存的消耗。
eg:

#include <stdio.h>  
//define inline 
inline bool isValueValid(int value) {  
    return value > 0 ? true : false;  
}   

int main()  
{  
   int i = 0;  
   int[20] = getValue();
   for(int i = 0; i < 20; i ++){
       bool result = isValueValid(int[i]);
       if(result){
           save(int[i]);
       }
   } 
}  

inline 函数表面上看到没什么特表,其实编译器在处理isValueValid()函数的时候是用( return value > 0 ? true : false;) 这部分代码替换的,这样就避免了将整个函数塞到栈,减少对栈内存的消耗。

posted @ 2015-07-13 09:10  沙影无痕  阅读(518)  评论(0编辑  收藏  举报