语义宏 - 将前一个宏指定给另一个宏

时间:2011-06-09 04:18:57

标签: c macros c-preprocessor

我有这个宏:

#define kPaxZoneW 105.0

我想定义一个总是需要具有相同值的后续宏,但出于语义原因,需要使用不同的名称。我可以在之前的定义之后侥幸逃脱吗?

#define kPaxZoneAFA kPaxZoneW

这将确保kPaxZoneAFA始终等于kPaxZoneW的值。

2 个答案:

答案 0 :(得分:2)

是;当您执行此操作时,kPaxZoneAFA的任何使用都会先被kPaxZoneW替换为105.0

答案 1 :(得分:2)

是的,你可以。当预处理器遇到您的第二个声明时,它将为其分配原始宏的值。

这在大多数宏的别名框架中都已完成。