はい、私はこれを見ました:
メソッドが構造体を返す場合、Mac OS X ABI関数呼び出しガイドで定義されているように、レジスタに返されます。nilに送信されるメッセージは、構造体のすべてのフィールドに対して0.0を返します。他の構造体データ型はゼロで埋められません。
わからない。
はい、私はこれを見ました:
メソッドが構造体を返す場合、Mac OS X ABI関数呼び出しガイドで定義されているように、レジスタに返されます。nilに送信されるメッセージは、構造体のすべてのフィールドに対して0.0を返します。他の構造体データ型はゼロで埋められません。
わからない。
最近のバージョンのLLVMコンパイラー(Xcode 4.2以降)を使用している場合は、そうです。nil
構造体を返すメソッドを使用してメッセージを送信すると、ゼロで埋められた構造体が生成されます。の場合CGRect
、それはに等しい長方形を意味しCGRectZero
ます。
出典:ObjCランタイムでAppleで働いているGregParker 。