title: Move constructor for std::string from char*
body: <p>I have a function <code>f</code> returning a <code>char*</code>. The function documentation says:</p>
  
  <pre><code>The user must delete returned string
  </code></pre>
  
  <p>I want to construct a <code>std::string</code> from it. The trivial things to do is:</p>
  
  <pre><code>char* cstring = f();
  std::string s(cstring);
  delete cstring;
  </code></pre>
  
  <p>Is it possibile to do it better using C++ features? I would like to write something like</p>
  
  <pre><code>std::string(cstring)
  </code></pre>
  
  <p>avoiding the leak.</p>