内联函数规则

不打扰是莪最后的温柔 提交于 2020-03-09 12:21:47

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、递归函数也不能作为内联函数

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!