0

「クラス」は、クラスの不透明な型と言われています。どういう意味ですか?クラスの種類ですか?

もう1つ、クラスは構造体へのポインターですか、それとも基本的に構造体ですか?

4

1 に答える 1

0

タイプの変数は、Classタイプの変数が任意のオブジェクトへのポインタを保持できるように、クラス オブジェクトへのidポインタを保持できます。クラスオブジェクトはオブジェクトです。type の変数がある場合、そのid中にどんな種類のものがあるのか​​ わかりません。と同じClassです。あなたはそれがオブジェクトであることを知っています。この「不透明なタイプ」という用語をどこから入手したのかわかりません。

オブジェクトは、メモリ内に特定の方法で一緒に配置された一連のもので構成されているため、構造体であると言えます。しかし、オブジェクトの内部構造を気にするべきではありません。これは、ランタイムの実装の詳細です。Apple ランタイム ヘッダーに表示される 、 などの構造体は、objc_object正確objc_classにはオブジェクトそのものではありません。それらは、Apple ランタイム内のオブジェクトの「開始」の構造を表しています。ただし、オブジェクトには、インスタンス変数など、これらの構造体が記述するものを超えるものが含まれています。

于 2013-10-29T02:20:00.913 に答える