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的。
下一篇: 不带头结点的双向循环链表(java实现)