title: What is the difference between std::set and std::map
body: <p>I'm relatively new to c++ programming and was wondering if someone could help clarify a few questions for me. </p>
  
  <p><a href="http://www.cplusplus.com/reference/set/set/" rel="noreferrer">http://www.cplusplus.com/reference/set/set/</a></p>
  
  <p><a href="http://www.cplusplus.com/reference/map/map/" rel="noreferrer">http://www.cplusplus.com/reference/map/map/</a></p>
  
  <p>I've been reading on how to implement STL binary search trees and I keep noticing that std::set and std::map are constantly mentioned as the methods for accomplishing such a task. What exactly is the difference between the two however? To me both seem almost identical and I'm not sure if there's something I'm not noticing that makes one better than the other for specific tasks. Is there any advantage of using std::set over std::map for implementing a STL binary search tree that takes values from an array or vector (such as speed for example)?</p>
  
  <p>If someone could help me understand this concept I'd greatly appreciate it!</p>