title: c++ template and header files
body: <p>So, I heard that C++ templates shouldn't be separated into a header (.h) and source (.cpp) files.</p>
  
  <p>For instance, a template like this:</p>
  
  <pre><code>template &lt;class T&gt;
  class J
  {   
     T something;
  };
  </code></pre>
  
  <p>Is this true? Why is it so?</p>
  
  <p>If because of that I'm gonna have to put both declaration and implementation in the same file, should I put it in a .h file or a .cpp file?</p>