title: Are C++ std::hash implementations always deterministic?
body: <p>I know that <code>std::hash&lt;T&gt;</code> are implementation dependent, but are they supposed to be deterministic?</p>
  
  <p>I know if I ran the <code>std::hash&lt;T&gt;</code> function on a value in the same process multiple times, I would get the same output. However, if I restarted the process, would I get the same value? Is there a seed that is used for std::hash? Does it depend on the compiler version, or some other factor?</p>
  
  <p>Is there a guarantee that with an input <code>X</code> I will always get output <code>Y</code> regardless of when the process running was started, the machine, or the compiler version?</p>