title: How do I make header files?
body: <p>I have gotten to a point in my course where they use Code::Blocks to automatically make a header file.  However, I don't think it's necessary to download Code::Blocks specifically for this reason, and so I am looking for a way to make my own header files.</p>
  <p>And so, I started my search online to find out exactly how to do this.
  I checked <a href="https://stackoverflow.com/questions/20015656/how-to-create-my-own-header-file-in-c">How to create my own header file in c++? [closed]</a> and also <a href="http://www.cplusplus.com/forum/articles/10627/#msg49679" rel="nofollow noreferrer">cplusplus.com</a></p>
  <p>However, the former uses uses <code>#ifndef YOUR_NAME_INCLUDE</code> and <code>#define YOUR_NAME_INCLUDE</code> whereas the latter uses <code>#ifndef __X_H_INCLUDED__</code> and <code>#define __X_H_INCLUDED__</code>, with 2 underscores surrounding the <code>#ifndef</code> and <code>#define</code>.  How should I format my header guards?  Does it really matter?</p>
  <p>For example, if I have a file <code>foo.h</code>, which looks like this:</p>
  <pre><code>#ifndef ???
  #define ???
  
  int sum(int a, int b) {
      return a + b;
  }
  
  #endif
  </code></pre>
  <p>should I put <code>SUM_INCLUDED</code>, <code>FOO_INCLUDED</code>, <code>FOO_H</code> instead of the <code>???</code> or something else altogether?</p>
  <p>Second, is making a header file really as easy as just sticking a <code>.h</code> or <code>.hpp</code> to the end of it?</p>