title: #ifndef syntax for include guards in C++
body: <p>I'm currently studying for a CS course's final exam and I've run into a minor (maybe major?) issue regarding the syntax of C++ #ifndef.</p>
  
  <p>I've looked at the syntax for #infndef when using it as an #include guard, and most on the web seem to say:</p>
  
  <pre><code>#ifndef HEADER_H
  #define "header.h"
  ...
  #endif
  </code></pre>
  
  <p>But my class's tutorial slides show examples as:</p>
  
  <pre><code>#ifndef __HEADER_H__
  #define "header.h"
  ...
  #endif
  </code></pre>
  
  <p>I was wondering what (if any) the difference was between the two. The exam will most likely ask me to write an #include guard, and I know conventional wisdom is to just go with what the prof / tutor says, but if there's a difference during compilation I'd like to know.</p>