有什么方法可以更改预处理器值,例如:
#define XValue 50
在Objective-C中?
如果您的意思是在运行时更改它,那么不,因为XValue
它被替换为50
编译前。
如果您的意思是在编译中更改它,那么是的,使用#undef
and #define
。
例子:
XValue = 30; // NOT ALLOWED
#undef XValue // ALLOWED
#define XValue 30
#undef XValue
#define XValue 100
关于什么:
int global_mutable_value = 50;
#define XValue global_mutable_value
要不就
int XValue = 50;
你没有说你为什么想XValue
成为一个宏,所以我们无法判断你的意图是否会被运行时可能改变的东西所满足。如果他们愿意,请使用可以在运行时更改的东西而不是宏(我使用了外部变量)。如果他们不这样做,那么你当然不走运。