title: C++: is string.empty() always equivalent to string == ""?
body: <p>Can I make an assumption that given</p>
  
  <pre><code>std::string str;
  ... // do something to str
  </code></pre>
  
  <p>Is the following statement is always true?</p>
  
  <pre><code>(str.empty() == (str == ""))
  </code></pre>