inline函数不能在for循环中使用的原因

Posted yooooooo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了inline函数不能在for循环中使用的原因相关的知识,希望对你有一定的参考价值。

inline函数的作用继承了宏定义的优点,没有了参数压栈,代码生成等一部分操作,并且摒弃了没有检查编译规则的缺点;

 

另外要注意,内联函数一般只会用在函数内容非常简单的时候,这是因为,内联函数的代码会在任何调用它的地方展开,如果函数太复杂,代码膨胀带来的恶果很可能会大于效率的提高带来的益处。内联函数最重要的使用地方是用于类的存取函数。
 
 
 
原因1:
inline实际上“相当于”宏替换,就是把函数的二进制代码直接复制到调用的地方,因而inline代码不应该有跳转。而循环结构无法避免条件跳转,所以有循环的代码无法inline;
 
原因2:
inline是将代码copy到指定的位置,放在循环当中就会大量的复制代码;
 
 
这可以默认认为inline函数不能在for循环。
 

以上是关于inline函数不能在for循环中使用的原因的主要内容,如果未能解决你的问题,请参考以下文章

关于v-for生成的inline-block内容并不能正常地被letter-space增加间距

使用for循环中的ggplot绘图不能编译为PDF

不能用swift在for循环中追加一个数组?

使用pytorch时使用for循环在python中创建self属性

使用条件 while/for 循环的指针在编译时会出错

为啥这个for循环不执行?