在C中的以下陈述中哪一个更好用?
static const int var = 5;
Run Code Online (Sandbox Code Playgroud)
要么
#define var 5
Run Code Online (Sandbox Code Playgroud)
要么
enum { var = 5 };
Run Code Online (Sandbox Code Playgroud) 我是Objective-C的新手,我有一些关于const和预处理指令的问题#define.
首先,我发现无法使用定义常量的类型#define.这是为什么?
第二,使用其中一个比另一个更有优势吗?
最后,哪种方式更有效和/或更安全?
我有一个constants.m文件,它是许多程序常量的集中集合.要设置颜色,我这样做:
@implementation UIColor (UIColor_Constants)
+(UIColor *) defaultResultTableBackgroundColor{
//return [[UIColor colorWithRed:0.6f green:0.004f blue:0.0f alpha:1.0f] retain];
return [[UIColor colorWithRed:0.1f green:0.004f blue:0.3f alpha:0.3f] retain];
}
+(UIColor *) defaultResultHeaderBackgroundColor{
return [[UIColor clearColor] retain];
}
@end
Run Code Online (Sandbox Code Playgroud)
在constants.h我有
@interface UIColor (UIColor_Constants)
+(UIColor *) defaultResultTableBackgroundColor;
+(UIColor *) defaultResultHeaderBackgroundColor;
@end
Run Code Online (Sandbox Code Playgroud)
然后只使用[UIColor defaultResultTableBackgroundColor]我想引用此常量的位置.
我想有一些其他UIColor和UIFont常量,虽然这有效,但似乎比它需要的更复杂.有更简单的方法吗?
说这样做有什么区别?
#define NUMBER 10
Run Code Online (Sandbox Code Playgroud)
和
float number = 10;
Run Code Online (Sandbox Code Playgroud)
在什么情况下我应该使用一个而不是另一个?