inline函数c++特有,在内部展开,与define相似,但会数据类型进行类型检查
inline函数只是对编译器进行建议,一般情况下,对内联函数有如下的限制:
(1)不能有递归
(2)不能包含静态数据
(3)不能包含循环
(4)不能包含swich和goto语句
(5)不能包含数组
若一个内联函数不满足以上限制,编译器会把它当做普通函数
#include <iostream>
#include <stdlib.h>
using namespace std;
#define mypower(N) N*N*N
inline int mypower2(int n){
return n*n*n;
}
int main(){
cout << mypower(3) << endl;
cout << mypower2(3) << endl;
system("pause");
return 0;
}