Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The latest version of this topic can be found at How to: Declare Pinning Pointers and Value Types.
A value type can be implicitly boxed. You can then declare a pinning pointer to the value type object itself and use a pin_ptr to the boxed value type.
Example
Code
// 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