在C ++中使用两个宏设置变量值

时间:2014-05-26 12:40:02

标签: c++ macros

我有一个像这样的代码块:

#ifdef AB
    int value = 5;
#else
    int value = 10;
#endif

#ifdef CD
    int value = 9;
#else
    int value = 11;
#endif

但现在我的问题是,如果AB和CD宏都处于活动状态,则该值设置为9.我在同一解决方案中有两个项目。一个人使用AB和另一张CD,那么如何在不将它们放入单独的解决方案的情况下进行区分?

1 个答案:

答案 0 :(得分:4)

请勿使用宏。

很明显,如果您需要同时存在两个变量,并且两个值都存在,那么它们就不能具有相同的名称。考虑某种数组或容器,它可以包含两个值,使用方便的描述性名称编制索引。

或者只是拥有两个不同命名的变量,并根据适当的条件决定在任何给定点使用使用哪一个。