使用接受CGFloat
s的iPhone Objective C方法时,例如[UIColor colorWithRed:green:blue:]
,将f附加到常量参数以将其明确指定为浮点数是很重要的,例如在这种情况下,我应该总是输入0.1f而不是0.1吗?或者编译器是否在编译时自动将0.1(一般为double)强制转换为0.1f(浮点数)?我不希望这些演员表在运行时发生,因为他们会不必要地提高性能。
提前致谢
MrMage
答案 0 :(得分:2)
这不是重要的;在预期单精度常量的情况下,使用双精度常量不会破坏任何东西。
但是,如果您已打开有关隐式64位到32位转换的警告,并且正在构建32位架构(我认为包括iPhone),那么您将需要使用单个 - 精度常数只是为了避免得到那个警告。
(或者,您可以将该设置设置为显式关闭,其架构条件为64位体系结构启用。但当前仅在您使用某些代码时才有意义在Mac应用程序中。)