内联函数中的内联函数

Mon*_*ter 3 c++ inline

对于以下功能:

inline void A() {
   ...
   B();
   ...
}
Run Code Online (Sandbox Code Playgroud)

B也由编译器内联?

如果没有,我应该使B内联以提高性能吗?

dxd*_*xdy 6

在大多数情况下,您可以舒适地休息,将内联决策留给编译器,这将比您更好地了解何时何时不会产生更好的性能.

在这种特定的情况下,我会强烈怀疑它完全取决于编译器做什么.


gal*_*tte 5

不,内联关键字只会导致 A 代码内联到调用者代码中。这不会影响 B 的内联。

除此之外,在c++中,inline关键字只是对编译器的一个提示,编译器可以忽略它。现代编译器决定何时需要内联函数,即使不使用关键字。