I'm looking for a good tutorial book on the C++ Standard Template Library. I don't want a reference, there are plenty of them online, but rather a book that will lead me through using the various parts of the STL and give some insight into why it is the way it is. Does anybody know of such a book?
For a tutorial I'd recommend Accelerated C++ by Koenig and Moo. If you want to know why things are the way they are, then refer to The C++ Programming Language, 3rd Edition by Bjarne Stroustrup, although this is better as a reference than a tutorial.
Effective STL is a must-have, but it's good as a complement to another STL book and not so much as a sole source of learning STL.
The best book I've found for a comprehensive STL reference that explains things well is The C++ Standard Library: A Tutorial and Reference by Josuttis. It's a bit on the pricey side, but worth every penny.
Effective STL by Scott Meyers
The C++ Standard Library: A Tutorial and Reference by Nicolai M. Josuttis
STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library by David R. Musser, Gillmer J. Derge, Atul Saini
Thanks all! Sounds like Meyer's Effective STL and the Josuttis tutorial and reference are the way to go.
While I like Josuttis' book and use it frequently I found the best book for understanding how the STL is put together is Generic Programming and the STL by Matthew Austern. The first section of this book is what really helped me "get it" for the STL. Once you understand the concepts Meyer's book is a must read, well all of his books are a must read :)
For STL reference you should check out SGI's website.
You may also consider this book: Generic Programming and the STL: Using and Extending the C++ Standard Template Library
I`ve found it very useful, deep covering many principles that STL uses. Also, it is not just a reference - it also has a tutorial part which I have found great.
I think every C++ developer should have a copy of The C++ Programming Language and read that before any of the 'Effective' books.