かってきままに!

わたくし、とんちゃんが日々の話題をかってきままに記していきます。

ref class

2010-09-21 16:38:39 | C++/CLI

#include <iostream>
#using <mscorlib.dll>

ref class A {         //参照クラス ref をつけます。

public:

 int a;

};

int main(array<System::String^>^ args)
{
 A^ a = gcnew A();    //参照クラスはマネージヒープ上に作られる。返されるのはハンドルという。
                      //インスタンスはGCによってマネージヒープ上を移動する。
                      //ポインタのように演算はできない。
                      //gcnewで作成してdeleteのような後始末は勝手にやってくれるので必要ない。
                      //ただし、いつ削除されるかはわからない。

 a->a = 10;           //アクセスにはアロー演算子を使う。


 A b;                 //このようにも使える。
                      //内部的には A^ b = gcnew A となっている。
                      //この場合スコープを抜けると削除される。

 b.a = 20;            //この場合はドット演算子を使う。

 
 System::Console::WriteLine(a->a);
 System::Console::WriteLine(b.a);

 getchar();

 return 0;
}

// 表示結果
// 10
// 20


最新の画像もっと見る

コメントを投稿