title: What's the reason behind having std::integral_constant?
body: <p>What's the real use case of this?</p>
  
  <pre><code>std::integral_constant
  </code></pre>
  
  <p>I can understand this is a wrapper with value 2:</p>
  
  <pre><code>typedef std::integral_constant&lt;int, 2&gt; two_t
  </code></pre>
  
  <p>But why not just use 2 or define a const int value with 2?</p>