我刚刚遇到这个代码,一些谷歌搜索没有解释这个神秘的(对我来说)语法.
Hashtable^ tempHash = gcnew Hashtable(iterators_);
IDictionaryEnumerator^ enumerator = tempHash->GetEnumerator();
Run Code Online (Sandbox Code Playgroud)
小智 73
// here normal pointer
P* ptr = new P; // usual pointer allocated on heap
P& nat = *ptr; // object on heap bind to native object
//.. here CLI managed
MO^ mngd = gcnew MO; // allocate on CLI heap
MO% rr = *mngd; // object on CLI heap reference to gc-lvalue
Run Code Online (Sandbox Code Playgroud)
在一般情况下,加标点%是^因为加标点&是*.在C++中,一元运算&符在C++/CLI中是一元运算%符.
虽然&ptr收益率P*,%mngd收益率MO^.
从 MSDN,它看起来像插入符号意味着您正在获得正在创建的类型的句柄。