1. ホーム
  2. iphone

[解決済み] CGFloatとfloatを使うことの違いは何ですか?

2022-04-22 20:19:42

質問

CGFloatを使いまくることが多いのですが、これだと無意味にパフォーマンスヒット"するのでは?CGFloatはfloatよりも何か"heavy"な感じですよね? どの時点でCGFloatを使うべきなのか、何がその違いを生み出しているのか。

どのように解決するのですか?

Weichsel が述べたように、CGFloat は単なる型定義で、次のいずれかです。 float または double . Xcode で "CGFloat" をコマンドでダブルクリックすると、型定義が定義されている CGBase.h ヘッダにジャンプするので、自分で確認できます。NSInteger と NSUInteger についても、同じような方法が使われています。

これらの型は、32ビットと64ビットの両方でそのまま動作するコードを簡単に書けるようにするために導入されました。しかし、もし必要なものが float の精度は、自分のコード内で float その方がメモリ使用量が少なくて済みます。整数値の場合も同様です。

現在、ほとんどのMacは64ビットCPUを搭載しており、Snow Leopardはカーネルとユーザーアプリケーションを含めて完全に64ビット化されています。アップルの Cocoaのための64ビット移行ガイド は有用な資料です。