C++ inline Function

| 分类 C++  | 标签 C++_keywords 

首先c语言中inline不能直接单独使用,需要添加static inline 或者extern inline才可以通过编译。而在c++中inline则可以直接单独使用。如下所示:

inline int max(int a, int b) {
    return (a >= b) ? a : b;
}

int main(int argc, char* argv[]) {
    cout << max(10, 3) << endl; //max(10, 3)会被替换
}

inline是直接将对应函数替换成对应的函数定义,从而减少函数调度的消耗,但是会增加代码段的内存消耗,所以一般都是用来替换一些函数定义比较少的函数。而且inline其实只是建议编译器将对应的函数进行inline,不一定保证一定会进行替换。

在c++ class中,如果成员函数的定义实在类声明中,那么这个成员函数其实默认就是inline的,所以一般来讲不在类声明内部中使用inline keyword,而是直接在类声明中写下函数定义。

inline keyword 介绍参考链接

inline 函数链接失败


上一篇     下一篇