title: Variable declarations in header files - static or not?
body: <p>When refactoring away some <code>#defines</code> I came across declarations similar to the following in a C++ header file:</p>
  
  <pre><code>static const unsigned int VAL = 42;
  const unsigned int ANOTHER_VAL = 37;
  </code></pre>
  
  <p>The question is, what difference, if any, will the static make?  Note that multiple inclusion of the headers isn't possible due to the classic <code>#ifndef HEADER</code> <code>#define HEADER</code> <code>#endif</code> trick (if that matters).</p>
  
  <p>Does the static mean only one copy of <code>VAL</code> is created, in case the header is included by more than one source file?</p>