This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Migration from GCC3.4.3 to GCC4.1.2


Hi ruks,

If you are going to rely on explicit template instantiation, you have to be
meticulous about instantiating all the templates that are referenced.  And
you have to have a deep knowledge about the template mechanism (which* is a
an obtuse, convoluted, and confusing code generation language built into C++
-- but x1000 better than the C preprocessor).

Otherwise, in my opinion, it is best to rely on implicit template
instantiation and vague linkage instead.

I am not a C++ template guru.  I know enough about them to use them
effectively, and I can (albeit poorly, in retrospect) write them -- but
there are so many agonizing subtleties and mindboggling nuances and
t's-to-cross and i's-to-dot that I leave the fine art of template crafting
to the smart++ folks at Boost <http://www.boost.org/>.

Sincerely,
--Eljay

* in my not-so-humble opinion.  I¹m comparing / contrasting C++ template
facilities with D¹s code generation mechanism, in particular.  It is as-if
C++ template mechanism was not designed as a code generation language, and
only was realized that it is one long after the fact, and way too late to
redesign it.

"What 99 percent of programmers need to know is not how to build components,
but how to use them."
~ Alexander Stepanov


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]