title: Need to delete CString after use to free memory?
body: <p>If I am using a CString like this:</p>
  
  <pre><code>void myFunc(char *str)
  {
    CString s(str);
    // Manipulate other data with CString
    // ...
    // Finished
  
    // Should I somehow delete 's' here to avoid a memory leak?
  }
  </code></pre>
  
  <p>Is the string erased once the function goes out of scope?</p>
  
  <p>Also, I know that the <code>new</code> keyword allocates memory, if I construct an object without the <code>new</code> keyword, is memory still allocated? My intuition tells me yes, but I would like to verify.</p>
  
  <p>e.g.</p>
  
  <pre><code>CString *asdf = new CString("ASDF");
  // same as?
  CString asdf("ASDF"); 
  </code></pre>