Практическое руководство. Использование gcnew для создания типов значений, а также использование неявной упаковки-преобразования
При использовании gcnew в типе значения будет создан прямоугольный тип значения, который затем можно поместить в управляемую кучу мусора.
Пример
// 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);
}