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

Setting variable value using two macros in C++

本文关键字:两个 设置 变量值 c++      更新时间:2023-10-16

我有一个这样的代码块:

#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,如果不把它们放在不同的溶液中,我怎么区分它们呢?

不要使用宏。

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

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