gpt4 book ai didi

c++ - 内联函数和宏哪个更快

转载 作者:行者123 更新时间:2023-11-30 21:20:30 25 4
gpt4 key购买 nike

我相信预处理器在编译之前将宏扩展为代码中的拷贝文本,无论它在哪里被调用,而编译器在每个函数调用中写入已编译函数定义的拷贝。因此,在这两种情况下,我们都避免了常规函数调用的开销,但在这种情况下,内联函数或宏哪个更快且开销更少?

最佳答案

只有在编译器不自行决定是否内联宏时,宏才会“更快”。考虑到宏的缺点,通常最好将这个决定留给编译器。调试级别和相应源代码也存在问题。优化级别,“强制”内联,例如 __attribute__ ((__always_inline__)) (海湾合作委员会/铿锵)。更重要的是,您可以避免常见的陷阱,例如宏内的多个表达式扩展/求值。

我还没做过S.O.问题搜索(你应该养成这样做的习惯),但我怀疑这个问题很久以前就已经得到了更详细的回答!

关于c++ - 内联函数和宏哪个更快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37529235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com