内联函数规则

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

posted @ 2020-03-09 11:06  九叶草  阅读(338)  评论(0编辑  收藏  举报