如何:声明钉住指针和值类型

只有值类型可以装箱。 然后可以声明钉住的指针到装箱值类型的值类型对象和使用 pin_ptr

示例

代码

// pin_ptr_value.cpp
// compile with: /clr
value struct V {
   int i;
};

int main() {
   V ^ v = gcnew V;   // imnplicit boxing
   v->i=8;
   System::Console::WriteLine(v->i);
   pin_ptr<V> mv = &*v;
   mv->i = 7;
   System::Console::WriteLine(v->i);
   System::Console::WriteLine(mv->i);
}

Output

8
7
7

请参见

参考

pin_ptr (C++/CLI)