title: Equality comparison on the output of a wstring iterator not working
body: <p>I've got a vector holding wstrings. I want to see if one of the strings has the same contents as a string in a variable:</p>
  
  <pre><code>std::wstring m_MyString;
  
  void CheckExists() {
      std::vector&lt; std::wstring &gt; list = ...
      for (std::vector&lt; std::wstring &gt;::iterator it = list.begin(); it != list.end(); ++it) {
          if (*it == m_MyString) {
              ...
              break;
          }
      }
  }
  </code></pre>
  
  <p>However, the <code>*it == m_MyString</code> doesn't seem to be doing string equality - it doesn't go into the <code>if</code> when there's a matching string in the vector. I think it's doing pointer/address equality. How do I get it to do basic string equality?</p>