【发布时间】:2012-10-11 08:57:03
【问题描述】:
我一直在寻找有趣且更有用的 C 宏/定义示例,这些示例将比定义 const 或 min/max 函数更广泛。我的理解是宏应该允许某种程度的元编程(尽管我不确定),但是搜索并不能揭示太多,因此非常感谢使用宏进行元编程的示例,或者解释为什么它不能工作。总的来说,我对任何“酷”的宏用法都感兴趣。
附:我知道这个问题很快就会变得“没有建设性和接近”,但我认为它至少可以成为有趣的社区 wiki 问题。
编辑:我对任何 C++ 不感兴趣。
【问题讨论】:
-
这个问题最好改写为“除了定义 const 或 min/max 函数之外,宏的正确用途是什么?”或者甚至,“我什么时候应该使用宏而不是简单的函数?有什么好处?”
-
有些事情宏只是必需。最直接的例子是任何需要代码的行级源文件位置的东西。 ____FILE____ 和 ____LINE____ 以及它们通过宏扩展在跟踪代码执行过程中的使用是一种天赐良机。
-
感谢 deltheil 这似乎很有趣。
标签: c macros metaprogramming c-preprocessor