Including .cpp at end of template header file
<p>I was reading an older data-structures book and it said that when you're doing template class programming you should include the .cpp at the end of the .h file.</p>

<p>As far as I know you have to do full function implementations in your .h file for any template class member functions - it's due to the way the template compiler works.</p>

<p>The only functions I was taught could be put in a implementation file for a template class were template specialization functions  i.e.: <code>template&lt;&gt; Class&lt;Type&gt;::function_name()</code>.</p>

<p>Why would this book to suggest to include the .cpp at the end of the .h?  is this just a way of separating the implementations into different files while getting them to compile with the header? and if so, where would you put real specializations - I'm guessing they couldn't go in the .cpp included by the header.</p>
