Comment : utiliser gcnew pour créer des types de valeur et utiliser un boxing implicite
L’utilisation de gcnew sur un type valeur crée un type valeur boxed, qui peut ensuite être placé sur le tas géré et collecté par le garbage.
Exemple
// vcmcppv2_explicit_boxing4.cpp
// compile with: /clr
public value class V {
public:
int m_i;
V(int i) : m_i(i) {}
};
public ref struct TC {
void do_test(V^ v) {
if (v != nullptr)
;
else
;
}
};
int main() {
V^ v = gcnew V(42);
TC^ tc = gcnew TC;
tc->do_test(v);
}