title: std::string == operator not working
body: <p>I've been using std::string's == operator for years on windows and linux. Now I am compiling one of my libraries on linux, it uses == heavily. On linux the following function fails, because the == returns false even when the strings are equal (case sensitive wise equal) </p>
  
  <pre><code>const Data* DataBase::getDataByName( const std::string&amp; name ) const
  {
           for ( unsigned int i = 0 ; i &lt; m_dataList.getNum() ; i++ )
           {
                  if (  m_dataList.get(i)-&gt;getName() == name )
                  {
                           return  m_dataList.get(i);
                  }
           }
  
           return NULL;
  }
  </code></pre>
  
  <p>The getName() method is declared as follows</p>
  
  <pre><code>virtual const std::string&amp; getName() const;
  </code></pre>
  
  <p>I am building with gcc 4.4.1 and libstdc++44-4.4.1.</p>
  
  <p>Any ideas? it looks perfectly valid to me.</p>
  
  <p>Paul</p>