title: How does std map know to use std string's data as key
body: <p>So if you create a map with a class as the key.  Then the keys are pointers to classes?</p>
  
  <p>If <code>std::string</code> is a class, how does it manage to use character array data as keys in the map??</p>
  
  <p>So the comparator can make 2 'different' class instances appear equal because their 'strings' match? If you confirm this, I shall mark your answer.</p>