質問

iPhoneゲームDevelment Bookのヘッダーファイルのいくつかのインスタンス変数を次に示します。

CGFloat *point;
int count;
CGFloat vectorScale;

今、私は絶対的な混乱しています。ポイントイバーの前のアスタリスクは何ですか? cgfloatはクラスではありませんか?

役に立ちましたか?

解決

CGFLOATは、プラットフォームに応じて、フロート用のC Typedefまたはダブルにすぎません。現代の機械では、おそらく二重です。これは、 *フロートへのポインターとして *ポイントを意味します。その名前を考えると、おそらく(教育を受けた推測)XY座標のインターリーブ配列へのポインターがあります。

他のヒント

クラスではありません。 iOSでは、それはaです float. 。 OSXでは、そうです float また double.

アスタリスクはそれを言います point aへのポインターです CGFloat. 。入門Cの本は、ポインターを説明します。

これらの1つがXcodeにあるものを知りたい場合は、タイプをオプションクリックしてください。あなたはその実際の定義にとらわれます。私が得るのは:

#if defined(__LP64__) && __LP64__
# define CGFLOAT_TYPE double
# define CGFLOAT_IS_DOUBLE 1
# define CGFLOAT_MIN DBL_MIN
# define CGFLOAT_MAX DBL_MAX
#else /* !defined(__LP64__) || !__LP64__ */
# define CGFLOAT_TYPE float
# define CGFLOAT_IS_DOUBLE 0
# define CGFLOAT_MIN FLT_MIN
# define CGFLOAT_MAX FLT_MAX
#endif /* !defined(__LP64__) || !__LP64__ */

typedef CGFLOAT_TYPE CGFloat;
#define CGFLOAT_DEFINED 1

TL:DRそれは決してクラスではありません:-)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top