Penguin
Note: You are viewing an old revision of this page. View the current version.

Acronym for the Standard Template Library.

In particular it is the Standard Template Library for the C++ language.

SGI have some good documents on the STL on their site http://www.sgi.com/tech/stl

The STL is a matter of some contention in many circles of C++ programmers. It provides a standard set of generic functions and datatypes that really do make C++ programming easier. But it is not all good.

The STL is the source of all sorts of nasty errors. When you have a compile error in your code which uses STL, it can be quite horrid - see C++ for an example of this. Hence debugging this can be a major headache. Historically, one of the real problems with the STL is the different implementations of the 'standard' floating around. This, combined with the fact that each compiler seemed to have a few bugs to do with the template implementations, meant a lot of programmers avoided the STL.

Compilers have matured a lot in recent years and STL implementations seem to be somewhat more standardised now. Recent compilers such as g++-3.x and msvc-7 seem to handle all the STL template constructs well, of not with very informative error messages. Also, STLPort is a nice free OpenSource STL implementation which is used widely.

If you like what STL can do for you, but just want that extra generic programming power that can be found in C++, perhaps you should look at Boost.