我只是偶然发现了这段代码,一些谷歌搜索没有找到对这种神秘语法的解释(对我来说)。

Hashtable^ tempHash = gcnew Hashtable(iterators_);

IDictionaryEnumerator^ enumerator = tempHash->GetEnumerator();

这个插入符号到底是什么意思?(gcnew对我来说也是新的,我在这里问了一下。)


当前回答

这是c++ /CLI,插入符号是托管的*(指针),在c++ /CLI术语中被称为“引用类型”的“句柄”(因为你仍然可以有非托管指针)。

(感谢Aardvark指出了更好的术语。)

其他回答

这意味着它是对托管对象的引用。

这是c++ /CLI,插入符号是托管的*(指针),在c++ /CLI术语中被称为“引用类型”的“句柄”(因为你仍然可以有非托管指针)。

(感谢Aardvark指出了更好的术语。)

在c++ /CLI中,它表示托管指针。你可以在这里阅读更多关于它(以及其他c++ /CLI特性):

http://en.wikipedia.org/wiki/C%2B%2B/CLI

从MSDN来看,插入符号似乎意味着您正在获取正在创建的类型的句柄。

https://web.archive.org/web/20150117095313/http://msdn.microsoft.com/en-us/library/te3ecsc8%28VS.80%29.aspx

这意味着这是对托管对象的引用,而不是普通的c++指针。这些引用背后的对象由运行时管理,并可以在内存中重新定位。它们也会自动进行垃圾回收。