内联函数规则

本文最后更新于:2023年4月7日 下午

1、内联函数的声明必须在调用之前。

#include<iostream>
inline bool ischar(char); //内联声明
int main(){
    char c;
    if(ischar(c)){....}
}
bool ischar(char ch){....}

如果是下面这种情况,那么在程序编译的过程中,并不认为那是内联函数,会将他当做普通函数对待。

#include<iostream>
bool ischar(char); //此处无inline
int main(){
    char c;
    if(ischar(c)){....}
}
inline bool ischar(char ch){....} //此处为inline

所以在编译时,在调用之前看到内联声明就十分必要了。

2、内联函数应该尽可能的小,并且要结构简单,这样嵌入代码时才不会影响调用函数的主体结构。因此,内联函数不能出现switch、while等语句,如果出现这些语句,那么编译时将会无视这个内联函数,将它作为普通函数对待。

3、递归函数也不能作为内联函数


打赏支持
“如果你觉得我的文章不错,不妨鼓励我继续写作。”

内联函数规则
https://dreamoneyou.github.io/2020/内联函数规则/
作者
九叶草
发布于
2020年3月9日
更新于
2023年4月7日
许可协议