inline函数
2016-03-07 23:13
302 查看
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;
}
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;
}
相关文章推荐
- ubuntu下编写编译C++程序
- 构建一个Scheduling Tasks
- 使用栈,队列 ------模拟广告轮播效果
- (一)委托模式简介 委托模式是基本的设计模式之一。委托,即是让另一个对象帮你做事情。 许多其他的模式,如状态模式、策略模式、访问者模式本质上是在更特殊的场合采用了委托模式。 委托模式使得我们可以用聚合
- code视频记录
- Elasticsearch DSL中Query与Filter的区别
- 博客带我成长
- CSS之perspective
- LinearLayout动态加载Button方案
- 5. SpringMVC注解类实践例子1
- 重温javase—MySQL数据库基础
- EcStore中的App是什么东西?
- 类的继承8.2
- codeforces 650B . Image Preview 二分
- opendaylight(Li) l2switch 源代码分析(3)--packethandler
- Android Studio Git .gitignore规则不生效的原因
- [置顶] Unity中关于图形学的基础知识—矩阵(二)
- 每日总结-2016年3月7日
- 内嵌函数和闭包
- 二分图------》Hopcroft-Karp算法 hdu2389