假设我的程序和代码中的某个地方有一个函数,该函数是通过函数指针调用的。如果编译器碰巧内联了该函数会发生什么,或者编译器会意识到有一个函数指针分配给该函数并因此避免内联它。
最佳答案
当使用指向函数的指针时,编译器会为函数生成一个外联体。仍然可以在其他调用站点内联该函数。
请注意,标记为 inline
的函数必须在所有引用它的 TU 中都有可用的定义,并且这些定义必须相同。这意味着在某些调用站点内联该函数并在其他站点保持外联是非常安全的。
关于c++ - 如果编译器内联通过函数指针调用的函数会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14749230/