-=> Quoting Thomas Maeder to Darin McBride
DM> TM> Download a public STL. You can learn a lot about using template
DM> TM> looking at the code.
DM> However, what you're more likely to get by looking at the code is a
TM> Ok. The STL is well enough documented to use it without understanding
TM> every line of code. But I'm not only a software developer, but also a
TM> C++ teacher, so I think that I have to understand the STL code.
I disagree. You merely need to know how to use it, not how it works. The
same goes whether you're using strcpy, scanf, list, or say some third-party
library. I have never seen a professor explain the intricate insides of
iostreams (i.e., cout) but, rather, only explain how to use it. The reason?
I'd like to think it's because the insides don't actually matter. However,
it's more likely to do with the fact that you _aren't supposed to know_.
This is due to the fact that no two implementations are necessarily
implemented the same way. For example, the current implementation of the STL
is incomplete - because no compiler could handle default template arguments.
(I'm not sure if this is still true.) Nevermind that GNU's version has been
hacked from the original HP release. Or that MS has probably made a few
modifications to get it to work (properly) on MSVC. Or that Borland made a
few modifications. Or that... you get the idea.
Do you understand all the C runtime library functions' code? Some of it is
surely quite straight-forward. But it's useless to know it since you change
compilers and your knowledge is obsolescant!
... On the other hand, I have five fingers.
--- FastEcho 1.46
---------------
* Origin: House of Fire BBS - Toronto - (416)601-0085 - v.34 (1:250/536)
|