次のようなプリプロセッサの値を変更する方法はありますか?
#define XValue 50
Objective-Cで?
実行時に変更する場合は、いいえ、コンパイル前にXValue
置き換えられます。50
コンパイルで変更する場合は、はい、およびを使用#undef
し#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
のかわからないので、実行時に変更される可能性のあるものによってマクロに対する意図が満たされるかどうかはわかりません。もしそうなら、マクロの代わりに実行時に変更できるものを使用してください(私はextern変数を使用しました)。そうでなければ、もちろんあなたは運が悪いです。