2010-10-29 23 views

回答

4

通常這些類型的數據類型用於可讀性,也用於可移植性。如果CoreGraphics庫改變它的實現或數據類型,CGFloat類型將幫助它更好地匹配API。考慮跨平臺的可移植性時,這也可能很重要。

我懷疑是否有任何性能差異 - 它可能最終仍然是編譯代碼中的浮點數。

+0

那麼,前面的代碼使用'float'文字作爲可能是'double'的類型,而後面的代碼使用'double'文字作爲可能不等於'double'的類型。一個嚴格字面量的編譯器總是包含'float'格式的float文本和'double'格式的'double'文本,但真正的編譯器可能會存儲已經轉換爲變量類型的初始化值,變量是'CGFloat',當它不是(當你將它傳遞給一個需要'CGFloat'並且類型不匹配的函數時)。 – 2010-10-30 01:45:57

4

請參閱this答案爲CGFloat的一個很好的解釋。它基本上是32位和64位平臺之間代碼可移植性的typedef。

相關問題