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.

Example

// 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);
}

See also

Boxing