title: What are the most-used string types in C++ and how to convert between them?
body: <p>OR How to not kill yourself or someone the next time the C++ compiler twists your arm to convert between 2 arbitrary string types just to mess with you?</p>
  
  <p>I have a tough time coding in C++ since I am used to VB6, C#, Ruby,  for string operations. But now I've spent over 30 mins trying to log a string containing 2 guids and a string to the debug window... and it isn't getting any easier
  And I've already met <code>RPC_WSTR</code>, <code>std::wstring</code> and <code>LPCWSTR</code></p>
  
  <p>Are there simple (or any) rules to know the conversions between them? Or does it only come after years of torture?</p>
  
  <p></p>
  
  <p>Basically I'm looking for the most frequently used string types in both standard APIs and MS-specific/Visual C++ libraries ; What to do the next time, i see </p>
  
  <pre><code>Error   8   error C2664: 'OutputDebugStringW' : cannot convert parameter 1 from 'std::wstring' to 'LPCWSTR'
  </code></pre>
  
  <p><strong>Update</strong>: I fixed the ^^^^ compile error. I am looking for a more global answer not for the solution for specific issue I listed as an example.</p>