- 868 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 19:01:04 ]
- >>867
詳しくはないが、自分ならこう考える Objective-Cの背後にある仕組みは結局Cと何もかわらない importは本質ではなくひとつのファイルに連続して次のように書けるかという問題 Cではこう書けない struct A { struct B *b; }; struct B { struct A *a; }; なぜならAの宣言時にBはまだ宣言されていないから。しかしCでは不完全型を定義できて、 struct B; struct A { struct B *b; }; struct B { struct A *a; }; こう書く事ができる。Aの定義時にBは不完全型なのでインスタンスは作れないが、ポインタは作れる。ポインタのサイズはどの構造体でも固定だからだ で、Objective-Cでも背後で同じようなことが起きてるんだと思うよ @class B; として不完全型を定義すればそのポインタを次の行からは使えるようになる だからエラーにならない どう?
|

|