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