この文書の現在のバージョンと選択したバージョンの差分を表示します。
次のリビジョン | 前のリビジョン | ||
cli:ref_class [2009/01/31 12:26] admin 作成 |
cli:ref_class [2009/02/11 19:12] admin Page moved from ref_class to cli:ref_class |
||
---|---|---|---|
ライン 1: | ライン 1: | ||
+ | {{indexmenu_n>5}} | ||
====== ref class ====== | ====== ref class ====== | ||
ライン 5: | ライン 6: | ||
gcnewを使ってインスタンスを作成した場合、^を使って参照として受け取ります。これをハンドルといいます。 | gcnewを使ってインスタンスを作成した場合、^を使って参照として受け取ります。これをハンドルといいます。 | ||
+ | |||
+ | <code cpp> | ||
+ | ref class C { | ||
+ | int i; | ||
+ | int j; | ||
+ | public: | ||
+ | C() { | ||
+ | } | ||
+ | ~C() { | ||
+ | } | ||
+ | !C() { | ||
+ | } | ||
+ | }; | ||
+ | int main() | ||
+ | { | ||
+ | C^ a = gcnew C; | ||
+ | C^ b = gcnew C; | ||
+ | C c; | ||
+ | { | ||
+ | C d; | ||
+ | } // d.~C()が呼ばれます。 | ||
+ | | ||
+ | delete a; // a->~C()が呼ばれます。 | ||
+ | } // c.~C()が呼ばれます。 | ||
+ | // b.!C()が呼ばれます。 | ||
+ | </code> |