我知道 inline
适合多次调用的微小主体函数。如果调用次数增加,可能会导致代码过大。但是一个只调用了几次的大型主体函数呢?
我主要对 inline
感兴趣 - 在 main()
的 while 循环中只调用一次的大型主体函数。这个函数实际上是核心,所以它占程序的 90%,并且如前所述,每个 tick 执行一次。
我认为编译器可以毫无问题地使其成为 inline
,就像我自己在 while
中编写它一样。相反,我在其他地方定义它并在 while
中调用它。
编辑:
我很清楚 inline
更多的是编译器决定而不是用户决定,甚至内联非指定的 inline
函数,所以用户控制几乎可以忽略不计.但这是一个原则问题,而且在这种特殊情况下它可以很好地发挥作用。
最佳答案
合理的想法。有许多编译器可以生成链接时代码。那些人可以看到您的函数只有一个调用者,并将其内联。
话又说回来,因为这需要链接时代码生成,所以 inline
关键字无论如何都不是那么有用。
关于c++ - <function number of lines> 和 <times function called> 是否被认为与内联成反比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26307679/