title: .c vs .cc vs. .cpp vs .hpp vs .h vs .cxx
body: <blockquote>
  <p><strong>Possible Duplicates:</strong><br />
  <a href="https://stackoverflow.com/questions/152555/h-or-hpp-for-your-class-definitions">*.h or *.hpp for your class definitions</a><br />
  <a href="https://stackoverflow.com/questions/1545080/correct-c-code-file-extension-cc-vs-cpp">Correct C++ code file extension? .cc vs .cpp</a></p>
  </blockquote>
  
  <p>I used to think that it used to be that:</p>
  <ul>
  <li><code>.h</code> files are header files for C and C++, and usually only contain declarations.</li>
  <li><code>.c</code> files are C source code.</li>
  <li><code>.cpp</code> files are C++ source code (which can also be C source code).</li>
  </ul>
  <p>then files like <code>.hpp</code>, <code>.cc</code>, and <code>.cxx</code> came along, and I got totally confused... what's the difference(s) between those? When do you use the &quot;new&quot; ones?</p>