[TriLUG] The C++ STL library
linux-support at earthlink.net
Fri Dec 5 11:13:23 EST 2003
On Friday 05 December 2003 10:09, Tanner Lovelace wrote:
> Mike Mueller wrote:
> > On Thursday 04 December 2003 16:13, Tanner Lovelace wrote:
> >>The STL is somewhat unique in that you don't compile it. Because of how
> >>templates work with most compilers, the STL is supplied entirely as
> >>header files.
> > Templates have no compilable meaning until supplied with concrete data
> > types in a particular instance, so they must always be a header file.
> > How could it be otherwise - especially if the datatype is user defined?
> That wasn't always the case. Also, some compilers will let you
> define certain types to be precompiled. I.e. if you know that
> your template will be often used with int's you could precompile that
> part and therefore save some compile time. Also, I believe some
> compilers used to compile to an intermediate representation that
> was between source code and actual object code. The advantage of
> this would also be faster compilation.
That makes sense. My files that use STL have a noticeably slower
I have a strong memory of the afternoon when the typical nature of templates
became suddenly clear to me. Prior to that event I was thinking of the STL
containers as precompiled objects I would link. The compiler error messages
I was getting were maddeningly abtruse (as most STL related compiler error
messages are). I spent zero time writing my own templates before using STL
in grand fashion, so I might be forgiven this temporary yet egregious void in
my understanding of templates.
Make clockwise circles with your right foot.
Now use your right hand to draw the number "6" in the air.
More information about the TriLUG