title: Should I return std::strings?
body: <p>I'm trying to use <code>std::string</code> instead of <code>char*</code> whenever possible, but I worry I may be degrading performance too much. Is this a good way of returning strings (no error checking for brevity)?</p>
  
  <pre><code>std::string linux_settings_provider::get_home_folder() {
      return std::string(getenv("HOME"));
  }
  </code></pre>
  
  <p>Also, a related question: when accepting strings as parameters, should I receive them as <code>const std::string&amp;</code> or <code>const char*</code>?</p>
  
  <p>Thanks.</p>