Procedura: dichiarare i puntatori di blocco e i tipi di valore
Un tipo di valore può essere sottoposto a boxing in modo implicito. È quindi possibile dichiarare un puntatore di blocco all'oggetto di tipo valore e usare pin_ptr per il tipo valore boxed.
Esempio
Codice
// 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);
}
8
7
7