<分区>
Possible Duplicate:
“static const” vs “#define” in C
在 Objective-C 中,以下两行之间的区别是什么:
#define myInteger 5
static const NSInteger myInteger = 5;
假设它们在实现指令上方的 MyClass.m 中。
<分区>
Possible Duplicate:
“static const” vs “#define” in C
在 Objective-C 中,以下两行之间的区别是什么:
#define myInteger 5
static const NSInteger myInteger = 5;
假设它们在实现指令上方的 MyClass.m 中。
最佳答案
#define myInteger 5
是预处理器宏。在编译器启动之前,预处理器会将每次出现的 myInteger
替换为 5
。它不是变量,它只是一种自动查找和替换机制。
static const NSInteger myInteger = 5;
这是一个常量的“真实”变量(声明后不能更改)。静态意味着它将成为对该 block 的多次调用的共享变量。
关于objective-c - Objective-C 中 static const 和 #define 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12990775/