我看到作者使用了很多地方:
sprite.anchorPoint = CGPointMake(1, 0.5f);
也就是说,为什么不使用 0.5
而不是 0.5f
-- 使用 0.5f
有优势吗?
最佳答案
0.5
是一个 double
常量,而 0.5f
是一个 float
常量。
is there advantage of using 0.5f?
是的。您要么想要为计算指定类型(阅读:精度),要么避免隐式缩小(和相关的编译器警告)。
除了避免编译器警告或只是对参数类型非常严格外,您提供的示例并不引人注目。
然而,不太明显的 double 提升可能代价高昂。
要回答“我们应该使用 0.5f 还是 0.5”:因为每个都有适当的时间,所以您应该在程序中使用两者。您应该使用适合您需要的计算/精度的类型、您传递的参数的类型,或者适合表达式中其他值的类型。这就像整数一样——有适当的时间来考虑宽度,也有适当的时间来考虑后缀(例如 U
和 L
)。有时区分很重要,有时(自然地)不重要。
关于objective-c - 在 C 和 Objective-C 中,我们应该使用 0.5f 还是 0.5?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10477463/