title: Mixing managed and unmanaged C++ code?
body: <p>I have a couple specific questions regarding mixing managed C++ with unmanaged C++:</p>
  
  <ol>
  <li>If I leave out <code>ref</code> and <code>value</code> in a class/struct declaration, does that automatically make the class/struct unmanaged? Or do I still need to include the <code>#pragma unmanaged</code> and <code>#pragma managed</code> directives?</li>
  <li>How compatible are unmanaged and managed types? For example, I can have an unmanaged object in a managed class, right? Can I pass an unmanaged class/struct to a managed function (ie. pass a std::string to a managed function)?</li>
  </ol>
  
  <p>Thanks for your help,</p>
  
  <p>Alex</p>