> Also this in turn means that the c++ template<> code will be generated & > repeated in each of those modules. I think it depends on the size of the c++ > template<> code if this is a bad thing, since on one hand it saves the c++ > compiler from handling any #include directives (because the code is just > inlined into all .cpp files directly). On the other hand if the c++ template > code might get very complex (i.e. thousands of lines of c++ template code) it > might slow down the c++ compiler because of all the duplicate > lexing/parsing/etc.
C++ headers work the same. If you put function implementation in a header file it will be present in all files that include this header, slowing down compilation and bloating the code.
