Sign in to follow this  
Chrysaor

STL reference book Suggestions

Recommended Posts

Hey, I'm starting my third year of my software engineering degree. I figured its time I bought myself an STL book since I'm starting to use the STL more and more often. I went on Amazon to check up some books. However, there were a few books that got greats reviews. So, I search past topics here to see which ones were recommended, and they were pretty much all mentioned in one post or another. So, I would like some input. I'm looking for more of a reference book, something that will explain to me how to properly use the STL, how it works, etc.. and not a book that explains what a link-list, vector,.. are. I've already taken my data structures course so I dont really need to go over that again. Any help would be appreciated. I'm looking for to buy one book (possibly two if they aren't that expensive maybe, 100-150$CDN total, will have textbooks to buy shortly so money will be a problem). Here are the ones that have the best reviews: STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library by David R. Musser (Author), Gillmer J. Derge (Author), Atul Saini (Author) Generic Programming and the STL: Using and Extending the C++ Standard Template Library by Matthew H. Austern (Author) C++ Standard Template Library, The by P.J. Plauger (Author), Alexander A. Stepanov (Author), Meng Lee (Author), David R. Musser (Author) The C++ Standard Library: A Tutorial and Reference by Nicolai M. Josuttis (Author) I would like the book to cover the Ansi Standard STL. Some of those books are quite old so not sure if they are dated. If someone has a diff book that I didnt mention, then feel free to suggest it. Thanks alot for your time! Edit:Btw, truly sorry if I posted in the wrong forum. Let me know which is the right one and I will post in it next time. Thanks!

Share this post


Link to post
Share on other sites
While I can't comment on the others, I would like to give a very enthusiastic recommendation to "STL Tutorial and Reference Guide" by Musser, Derge, and Saini. When I was looking for a book to fill in the missing gaps of my STL knowledge, I found that book was exactly what I was looking for.

Share this post


Link to post
Share on other sites
Josuttis' is the oft recommended book. It is a good reference for all of the little nuances of the Library. I don't care for the layout of the actual function reference [it's split across the book, rather than in an appendix or dedicated area] but the reference areas are good, even if the layout is less than ideal for a dedicated reference.

Share this post


Link to post
Share on other sites
Quote:
Original post by Telastyn
Josuttis' is the oft recommended book. It is a good reference for all of the little nuances of the Library. I don't care for the layout of the actual function reference [it's split across the book, rather than in an appendix or dedicated area] but the reference areas are good, even if the layout is less than ideal for a dedicated reference.


Seconded. Quite a few highly respectable people on these boards say it's the definitive book to have.

Share this post


Link to post
Share on other sites
Quote:
Original post by AzCoder
Josuttis




See whether you can get a second hand copy if you're on a tight budget.... although there might not be many people wanting to sell.

Share this post


Link to post
Share on other sites
If you're going to buy one book, buy Josuttis. If you have the cash, though, consider buying the Austern book too. It's a great source for perspective on generic programming as it relates to C++... it takes a much more theory-based, yet just as useful, approach to the STL than Josuttis.

Share this post


Link to post
Share on other sites
Effective STL by Scott Meyers is worth picking up as well. It's not a reference but it's a good book to read to improve your usage of the STL.

Share this post


Link to post
Share on other sites
For reference, I just use http://www.sgi.com/tech/stl/

Effective STL is good.

I also recommend "Modern C++ Design: Generic Programming and Design Patterns Applied". Not strictly about STL, but very template-heavy. It helped me understand the how/why's of STL a bit better.

Edit: Fruny is right - "Modern C++ Design" book does require some familiarity with STL and templates in general. Pick this up when you want to stretch your brain and knowlege a bit more.

[Edited by - JoshM on July 19, 2005 7:10:27 PM]

Share this post


Link to post
Share on other sites
I have both Musser/Saini's and Josuttis's books. "The C++ Standard Library" offer more breadth (it covers more than just the STL) and forms a good reference.

You can live without "Effective STL" for a while, though I would strongly consider picking it up if "things don't become clear", as it will guide you towards, well, effective usage of the library.

Finally, I don't recommend you bother with "Modern C++ Design" until you are familiar with the C++ standard library. It presents some advanced techniques which won't do you any good without a solid grounding.

On the other hand, since you seem to be past the "figuring out C++ syntax" stage, I strongly recommend Dewhurst's "Common C++ Knowledge" which will acquaint you with useful C++ Idioms and issues. Plus, at USD 21, it's cheap as far as computer books go.

Share this post


Link to post
Share on other sites
I have Josuttis' book. It's very good on STL.

Also recommend getting Bjarne Stroustrup's book.

Share this post


Link to post
Share on other sites
Quote:
Original post by mattnewport
Effective STL by Scott Meyers is worth picking up as well. It's not a reference but it's a good book to read to improve your usage of the STL.


I actually didn't find this book to be terribly novel. Perhaps it's because I read Josuttis' book right before it, or because the tidbits are oft repeated here... *shrug*

Share this post


Link to post
Share on other sites
Quote:
Original post by Fruny
[...]Finally, I don't recommend you bother with "Modern C++ Design" until you are familiar with the C++ standard library. It presents some advanced techniques which won't do you any good without a solid grounding.[...]
While I agree that you need a good grounding in C++ to understand Modern C++ Design, you don't need to know the STL well at all as long as you know (or can look up) the details of templates.

If your goal is understanding how to use the STL, Modern C++ Design won't help, though. It would help understanding why it is the way it is (to a small degree) and how you can create similarly (or more) robust systems yourself.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
I find the $10 O'Reilly STL Pocket Reference to be extremely useful, although it /definately/ doesn't explain anything about how the stuff works -- it's pure reference.

Share this post


Link to post
Share on other sites
Thanks alot guys!

This helped me out alot. Josuttis' book seems to be the winner although I will probably pick up a couple others at a later date (you guys made good arguments for some).

Thanks again!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this