title: global extern const clarification
body: <p>Is declaring extern const or just extern the same thing in a header file? Also will both give external linkage?</p>
  
  <p>globals.cpp</p>
  
  <pre><code>#include &lt;string&gt;
  
  extern const std::string foo = "bar";
  </code></pre>
  
  <p>globals.h</p>
  
  <pre><code>#ifndef GLOBALS_H
  #define GLOBALS_H
  
  #include &lt;iostream&gt;
  
  extern const std::string foo;
  
  #endif  /* GLOBALS_H */
  </code></pre>
  
  <p>OR</p>
  
  <p>globals.h</p>
  
  <pre><code>#ifndef GLOBALS_H
  #define GLOBALS_H
  
  #include &lt;iostream&gt;
  
  extern std::string foo;
  
  #endif  /* GLOBALS_H */
  </code></pre>
  
  <p>Both compiles and run fine, both give same address when used in multiple files, which one is more correct?</p>