We recommend using Visual Studio 2017
This documentation is archived and is not being maintained.

How to: Use gcnew to Create Value Types and Use Implicit Boxing

Using gcnew on a value type will create a boxed value type, which can then be placed on the managed, garbage-collected heap.

// vcmcppv2_explicit_boxing4.cpp
// compile with: /clr
public value class V {
   int m_i;
   V(int i) : m_i(i) {}

public ref struct TC {
   void do_test(V^ v) {
      if (v != nullptr)

int main() {
   V^ v = gcnew V(42);
   TC^ tc = gcnew TC;