title: Difference between string.empty and string[0] == '\0'
body: <p>Suppose we have a string</p>
  
  <pre><code>std::string str; // some value is assigned
  </code></pre>
  
  <p>What is the difference between <code>str.empty()</code>  and <code>str[0] == '\0'</code>?</p>