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增加间距