标题:请教:用ref 关键字(_gc)声明的类以一般的类有什么不同?
只看楼主
zqm0209
Rank: 1
等 级:新手上路
帖 子:142
专家分:0
注 册:2008-1-2
结帖率:100%
 问题点数:0 回复次数:0 
请教:用ref 关键字(_gc)声明的类以一般的类有什么不同?
这是msdn上的一个例子,帮助上说ref(_gc)定义myclass类为引用类类型,那么用ref声明的类与一般的类有什么不同的表现呢?msdn上说的太简略了,请大家指教。

using namespace System::Collections;
public delegate void MyDel();
ref class MyClass {
public:
   void Test() {}
};

void Test(Object ^ x) {
   Console::WriteLine("Type is {0}", x->GetType());
}

int main() {
   // handle to Object can hold any ref type
   Object ^ h_MyClass = gcnew MyClass;

   ArrayList ^ arr = gcnew ArrayList();
   arr->Add(gcnew MyClass);

   h_MyClass = dynamic_cast<MyClass ^>(arr[0]);
   Test(arr);

   Int32 ^ bi = 1;
   Test(bi);

   MyClass ^ h_MyClass2 = gcnew MyClass;

   MyDel^ DelInst = gcnew MyDel(h_MyClass2, &MyClass::Test);
   Test(DelInst);
}
搜索更多相关主题的帖子: ref 声明 关键 
2008-11-29 22:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-246952-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.052246 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved