In a type trait, why do people use enum rather than static const for the value? : <p>For example, this is how I would write it, and it compiles and works just fine:</p>

<pre><code>template&lt;typename T&gt; struct is_pointer&lt;T*&gt; {
  static const bool value = true;
}
</code></pre>

<p>Then why do some people write the less obvious</p>

<pre><code>template&lt;typename T&gt; struct is_pointer&lt;T*&gt; {
  enum { value = true };
}      
</code></pre>

<p>instead? Is it only because the <code>static const</code> variable uses a byte of memory, whereas the <code>enum</code> doesn't?</p>
