Bar*_*zyk 0 objective-c ios c-preprocessor
这是我发现的例子:
#define kNumberOfViews (37)
#define kViewsWide (5)
#define kViewMargin (2.0)
Run Code Online (Sandbox Code Playgroud)
为什么不能这样?
#define kNumberOfViews 37
#define kViewsWide 5
#define kViewMargin 2.0
Run Code Online (Sandbox Code Playgroud)
k前面又是什么意思?有什么指南吗?
在您的示例中并不是真正需要它,但在定义中使用括号是一种有用的方法,可确保您的定义准确地说明您在定义上下文中的意思,并在代码中使用时保护它免受副作用的影响。
例如
#define VAR1 40
#define VAR2 20
#define SAVETYPING1 VAR1-VAR2
#define SAVETYPING2 (VAR1-VAR2)
Run Code Online (Sandbox Code Playgroud)
然后在你的代码中
foo(4*SAVETYPING1); // comes out as foo(140)
Run Code Online (Sandbox Code Playgroud)
不一样
foo(4*SAVETYPING2); // comes out as foo(80)
Run Code Online (Sandbox Code Playgroud)
至于k前缀是什么意思。它用于常量。这里有很多关于起源的讨论:
| 归档时间: |
|
| 查看次数: |
226 次 |
| 最近记录: |