gpt4 book ai didi

C++ 为什么我要使用#define 而不是内联?

转载 作者:行者123 更新时间:2023-11-27 23:17:32 25 4
gpt4 key购买 nike

对于 C++,我什么时候必须 #define 宏与内联Article here详细说明为什么宏是邪恶的,为什么还要使用宏?

我看到一个:

  • 一些编译器不支持带循环的函数内联

还有其他吗?

此外,宏的常见用途是什么?一般情况下,宏何时比其他实现选择具有特权?

最佳答案

'inline'只是给编译器的提示,它仍然可以拒绝在生成的代码中内联函数。

因为预处理器宏只是替换,所以可以保证它会被内联,没有函数只是重复。

话虽这么说,宏仍然是邪恶的,应该评估每种情况而不是“一般规则”,但如果你想要一个一般规则,总是喜欢内联而不是宏,或者相信编译器比你更聪明并且让它自己决定。

关于C++ 为什么我要使用#define 而不是内联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15523132/

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