title: unordered_map - Hash function has no effect
body: <p>Why in the following the hash function (which returns constant 0) seems not be taking any effect?</p>
  
  <p>Since the hash function is returning constant, I was expecting as output all values to be 3. However, it seems to uniquely map the <code>std::vector</code> values to a unique value, regardless of my hash function being constant.</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;map&gt;
  #include &lt;unordered_map&gt;
  #include &lt;vector&gt;
  
  
  // Hash returning always zero.
  class TVectorHash {
  public:
      std::size_t operator()(const std::vector&lt;int&gt; &amp;p) const {
      return 0;
      }
  };
  
  int main ()
  {
      std::unordered_map&lt;std::vector&lt;int&gt; ,int, TVectorHash&gt; table;
  
      std::vector&lt;int&gt; value1({0,1});
      std::vector&lt;int&gt; value2({1,0});
      std::vector&lt;int&gt; value3({1,1});
  
      table[value1]=1;
      table[value2]=2;
      table[value3]=3;
  
      std::cout &lt;&lt; "\n1=" &lt;&lt; table[value1];
      std::cout &lt;&lt; "\n2=" &lt;&lt; table[value2];
      std::cout &lt;&lt; "\n3=" &lt;&lt; table[value3];
  
      return 0;
  }
  </code></pre>
  
  <p>Obtained output:</p>
  
  <pre><code>1=1
  2=2
  3=3
  </code></pre>
  
  <p>Expected output:</p>
  
  <pre><code>1=3
  2=3
  3=3
  </code></pre>
  
  <p>What am I missing about hash?</p>