注册 登录
编程论坛 C++教室

inline的使用

jiangcw007 发布于 2013-12-11 15:11, 386 次点击
inline void k()
{}
void m()
{
   inline k();
}
int main()
{
    m();
    return 0;
}
如果这样使用inline的话,会提高效率吗?
4 回复
#2
peach54602013-12-11 15:30
理论上任何地方用inline都可以提高效率...
#3
jiangcw0072013-12-11 15:39
我一开始也想过你说的,但是后来又想想内联就是空间换时间;因为我main函数调用了m函数,算是动态调用,在调用m函数的时候又去调用k函数将k函数放到m函数里面去实现;所以时间没有省下多少吧;除非m函数也是内联函数 就是 inline void k(); inline void m();你觉得呢! 刚刚只是我个人的思考;
#4
yuccn2013-12-11 17:30
用inline 是有要求的
1 要放在函数体前面,放在申明会无效
2 inline 函数要尽量简单,过于复杂的函数不应该用inline 了。比如几十个循环、n长的代码行数的, 编译器也自动帮你 取消inline
#5
peach54602013-12-12 08:22
楼上说的编译优化这个我不太清楚...
但是从理论上分析,函数调用是有开销的...使用函数实现替换函数调用绝对能加一点点性能...
1