title: Does it make sense to use std::unordered_map<int, int> instead of std::map<int, int>?
body: <p>Should <code>std::unordered_map&lt;int, int&gt;</code> be faster than std::map`? I don't care about order, just fast lookup, so I thought I should use a hashtable. But then I thought maybe it'll try to additionally hash my keys or something like that (which I don't need)?</p>
  
  <p>And a related question: I need to retrieve an <code>int</code> value by <code>int</code> key. Should I use <code>unordered_map&lt;int, int&gt;</code> or <code>unordered_set&lt;pair&lt;int, int&gt; &gt;</code> (in which case I'd need to implement hash function for my pair properly)?</p>