title: C++ STL unordered_map iterator problem
body: <pre><code>class Demo {
      struct FileData {
        int size;
        BYTE* buffer;
        DWORD flags;
      };
  
      typedef std::tr1::unordered_map&lt;std::wstring,FileData&gt; FileMap;
      FileMap m_fileMap;
  
      void myFunc()
      {
        std::wstring name = L"TestFile.png";
        FileMap::const_iterator iter = m_fileMap.find(name);
        std::cout &lt;&lt; iter-&gt;first;
      }
  };
  </code></pre>
  
  <p>Look at the code above. My problem is how does FileMap::const_iterator works.
  Does it make a copy of key(std::wstring) and value(FileData)? Or does it just holds pointers/reference to the key and value?</p>