title: How do you store an int or other "C# value types" on the heap (with C#)?
body: <p>I'm engaged in educating myself about C# via Troelsen's Pro C# book.</p>
  
  <p>I'm familiar with the stack and heap and how C# stores these sorts of things. In C++, whenever we use <code>new</code> we receive a pointer to something on the heap. However, in C# the behavior of <code>new</code> seems different to me:</p>
  
  <ul>
  <li>when used with value types like an int, using <code>new</code> seems to merely call the int default constructor yet the value of such an int would still be stored on the stack</li>
  </ul>
  
  <p>I understand that all objects/structs and such are stored on the heap, regardless of whether or not <code>new</code> is used.</p>
  
  <p>So my question is: how can I instantiate an <code>int</code> on the heap? (And does this have something to do with 'boxing'?)</p>