欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

9.关于C++中的内联函数(inline)

程序员文章站 2022-03-15 17:31:20
...

在C++中为了解决一些频繁调用的小函数大量消耗栈空间的问题,引入了inline修饰符,也就是内联函数。

inline 只适合函数体内代码简单的函数使用,不能包含复杂的结构控制语句,同时本身不能递归调用。

比如

inline bool db(int a);/*函数声明*/
bool db(int a){
    return (a%2==0)?true:false;
}

这就是一个简单的判断偶数的内联函数。

在代码中,所有调用db函数的地方替换成(a%2==0)?true:false;

 内联函数和define的区别:

define也可以做到inline的这些工作,但是define是会产生副作用的,尤其是不同类型参数所导致的错误,由此可见,inline有更强的约束性和能够让编译器检查出更多错误的特性,在C++中式不推荐使用define的。