The C++ Standard Library: A Tutorial and Reference Reviews



Amazon.com Customer Reviews

Prompt delivery and great price - Review written on January 07, 2008
* * * * *
Rating: 5 out of 5
7 customers found this review not to be helpful.
This book was delivered to me before time and also paid a decent price for it.
What a piece of crap - Review written on December 02, 2007
* *
Rating: 2 out of 5
4 customers found this review helpful, 6 did not.

Tutorial? Hardly. Reference? I can find better, more complete, and more accessible reference material in 10 seconds with google. Whenever I open this book to find information about some aspect of the STL, I end up googling for the same information a few minutes later.

The examples are near useless. They are all minimal examples of basic functionality and offer no help in using the library for real-life tasks. They do show you which header files to include, which is a plus.

Hash maps are completely left out of the book. While not officially part of the stl, they are still a significant part of it, and one that requires more explaining than the rest.

I am to understand the +5 reviews were because there are no better books on this subject, similarily my +2 review is because there are not enough negative reviews of this book.
the book is really perfect... but the shipping was bad!!! - Review written on November 12, 2007
* * * * *
Rating: 5 out of 5
3 customers found this review not to be helpful.
The book is really perfect and is exactly I hoped.
However, the main and only bad critic I want to highlight is the shipping.
The package was very light and the book cover arrived damaged: the corner were maltreated.
No really, only a box including 2 plastic bubbles is not serious and totally insufficient to correctly protect such kind of nice books.
Excellent - Review written on July 26, 2007
* * * * *
Rating: 5 out of 5

An excellent book. The only comment that I have that has not been covered is that you should know c++ templates to use this book... theres a problem with that, most if not all template books require you to know STL. You will have to read both in conjunction if you do not all ready know templates.
Once you get past that little pit fall though, this book is invaluable to any c++ programmer.
C++ Programmers: Don't try to live without this book - Review written on July 05, 2007
* * * * *
Rating: 5 out of 5
2 customers found this review helpful.

This is far and away one of the best written programming and reference books I have purchased in 20+ yrs of programming.

It gives a perspective on state-of-the-art C++ style, language constructs, and technique that only a choice few people in the industry can offer. The book has all of the meticulous attention to detail and design formalities that one could expect of the finest academic.

Bravo, Mr. Josuttis, and THANK YOU!
Its title says it all - Review written on May 03, 2007
* * * * *
Rating: 5 out of 5
1 customer found this review helpful.

It is a tutorial and a complete reference at the same time. I already knew very well STL when I have read this book but reading this book has been very enjoyable because I really appreciated its format. The tutorial and reference part are not clearly separated in 2. I hate books where you never read the reference part because it is as fun to read than reading a phone book.

Of course, the first part is strictly tutorial where it introduce STL, its basic principles and a quick overview of all the services provided by the library to the reader. Then lengthy chapters follow to cover containers and algorithms. This is where the book shines. It covers one by one each container and each algorithm and to support their description, a small sample program follows.

Before this book, there were some algorithms that I could not figure out exactly what was their purpose or how to use them correctly just from their description in the STL man pages. By reading the samples source code of this book, I had many 'AhAh' moments where finally I could understand some algorithms less frequently used. For all there reasons, I am very happy with my decision to get hold of this book.
Stop searching, this is the one you want - Review written on March 29, 2007
* * * * *
Rating: 5 out of 5
5 customers found this review helpful, 1 did not.

Yes it's long, but I have found this book faster to make use of than shorter books on the topic of the Standard Template library (STL). This is the book you want.

Read Ch 2, scan Ch 3. Ch 4 can wait, page through, don't read Ch 5. Read Ch 6 and just note how iterators can be used in Ch 7. And you are done. This can be done in under 3 hours. Then use the rest of the book just as a reference as needed and you will be an STL user eventual expert.

After using STL, you will never go back -- it transforms C++ into a useful language rather than a memory management sink hole. Oh, then you will want to go on to the new proposed, but not yet accepted (as of March 2007) standard library extensions. For that, see "The C++ Standard Library Extensions" by Pete Becker The C++ Standard Library Extensions: A Tutorial and Reference

What do the extensions (sometimes known as "Boost" library) add that's missing in STL? Well, Hash functions (how could these have been left out?), tuples rather than just pairs. Pairs in STL allow you to treat items as a unit -- very useful for database and pattern recognition/association for example. Tuples extend this to lists of items. Pointers with reference counting -- Speed up your code by easily avoiding needless copying and have the memory auto delete when all references to it go away. Doesn't solve the problem of "fatal embraces" where references point to each other, but it helps a lot.

What's still missing? By now, decision trees are just so mature and useful that they ought to be built in along with statistical boosting, k-means and agglomerative clustering, K-D trees for nearest neighbor association. That is IMHO, data ought not only allow methods to be attached, but clustering and basic machine learning/prediction should just be built in and standard by now. The above routines are mature and a basis of much more advanced routines.
As a public service: It's a very decent up-to-date book on STL - Review written on February 20, 2007
* * * *
Rating: 4 out of 5
7 customers found this review helpful.

But it's not the best. The best STL book I've seen is the old STL book by Mark Nelson, C++ Programmer's Guide to the Standard Template Library -- despite its being a bit out of date (it's based on the original HP implementation). I own both books and what I've learned over the years of using them is that when I need a readable explanation of the relevant header file, Josuttis is fine: up to date and reference-like, but whenever I need to really understand what's going on there, I go to Nelson; no book is on par with it as far as intelligent and in-depth discussion of the STL design, usage, and useful sample code. I could live w/o Josuttis just fine, but w/o Nelson I'd be lost an awful lot. I know this is an unusual review :-), but I thought I'd share.
excelent reference manual - Review written on January 12, 2007
* * * * *
Rating: 5 out of 5
1 customer found this review helpful.

This is the best reference on the STL that I have ever found. It covers everything in detail and tends to identify the places where you are likely to encounter difficulties.
1 of 3 Books That Must Be On My Desk At All Times! - Review written on January 11, 2007
* * * * *
Rating: 5 out of 5
5 customers found this review helpful, 1 did not.

I have hundreds of software related books. This is one of only 3 that must be on my desk at all times, one that I refuse to lend out. It is an excellent book, by far the best I have found on the topic. It is amazingly thorough and well organized. I don't believe that I have ever run across an STL related question the answer to which cannot be quickly located in this book. I use it often and would feel "naked" without it.

I bought mine when it came out in 1999. Despite the fact that the binding appears to be of good physical quality, mine is coming apart now. I presume that is indicative of the constant use this book has sustained over the past 7 years on my desk!
Great book - Review written on January 11, 2007
* * * * *
Rating: 5 out of 5
1 customer found this review helpful.

A very good book for anybody learning the C++ STL libraries. A good reference for people who already know the STL.
One of my favorite programming books - Review written on January 06, 2007
* * * * *
Rating: 5 out of 5
2 customers found this review helpful, 1 did not.

This book is very well-written and easy to follow. I wish there were more like this. Examples are simple, easy to follow, and understandable.
Defacto standard in C++ must have - Review written on January 03, 2007
* * * * *
Rating: 5 out of 5
2 customers found this review helpful.

This is one of a must have if you are a serious plus, pluser.
Buy it, read it, write cleaner and more efficient code and
be happy.
If only all reference books were like this - Review written on November 10, 2006
* * * * *
Rating: 5 out of 5
3 customers found this review helpful.

I purchased this book as a reference. I am a relatively inexperienced programmer and am learning C++ for grad school use. The author is not too formal in his approach, but still sets down authoritative information. The layout of the book is very easy to work with. And the index is a joy to use. This book is a great reference book, but it also goes well beyond being a reference. I think someone wrote that when they pull out Jusuttis to look something up, they wind up spending a half-hour learning something new.
Required reading for advanced C++ programming - Review written on September 18, 2006
* * * * *
Rating: 5 out of 5
5 customers found this review helpful.

One thing to point out is that this book's primary focus is on the Standard TEMPLATE library, so if you are looking for a beginner C++ book covering stuff like ::abs and ::strncpy then you should look elsewhere.

With that in mind, this is the best book on the STL, offering a complete reference for every container class and generic functor that you have ever heard of. Also, the examples are great, clear and to the point, but still deep enough to show you concise and practical ways to accomplish some interesting and common tasks. This book is a must have for anyone with a firm grasp on C/C++ that wants to get to that master level or industrial strength programming.
The best STL reference. - Review written on August 02, 2006
* * * * *
Rating: 5 out of 5
1 customer found this review helpful.

If you need a serious STL reference for C++, buy this book. Its the only one you'll need.
Great Reference and Good Read - Review written on July 06, 2006
* * * * *
Rating: 5 out of 5
4 customers found this review helpful, 1 did not.

The C++ Standard Library: A Tutorial and Reference is an excellent choice if you need to update your knowledge of C++ programming. The book starts with a quick review of new language features that were added during the standards process. Then each component of the C++ standard library is examined in detail. The material is very readable as well as thorough. I originally bought this book as a reference but found myself reading most of the book.

A great resource for all C++ programmers - Review written on June 26, 2006
* * * * *
Rating: 5 out of 5
3 customers found this review helpful, 1 did not.

This is one of the most useful books I have for C++ programming. I mainly use it as a reference and to look at examples.

The beginning of the book contains very good information about the new features of the C++ language that have been added by the standard. It covers things like the proper use of the standard C++ exception classes, namespaces, and templates. It talks about what operators you need defined for your classes in order for you classes to work well with STL. It goes into all the data structures and algorithms that are included with STL and a bunch of other topics that are really cool but I rarely use, like function objects and auto pointers. STL is a lot more than I realized until I read this.

For a general book that talks about problem solving or algorithms and data structures you should not choose this one. In fact to learn the theory you would get more out of writing your own data structures than using the standard library anyway. But if you are past the theory and you are tired of rewriting maps and vectors than STL is golden. This book describes STL better than any other that I have read.

Must have for any serious c++ programmer. - Review written on March 17, 2006
* * * * *
Rating: 5 out of 5
2 customers found this review not to be helpful.
If you program c++, you should own this book. The best of the best as far as STL references go.
The C++ Standard Library written by N. M. Josuttis - Review written on August 13, 2005
* * * *
Rating: 4 out of 5
2 customers found this review helpful, 1 did not.

This book will serve well as an important reference to the ANSI/ISO C++ Standard Library. It is well suited for C++ programmers of all capabilities for not only explaining the library elements, but also giving well explained, in depth insight to the workings of the code and the theory behind the concepts used throughout the book. Well written and very intellectual, Josuttis does well explaining the design with examples that enhance C++ beginners through experts knowledge of the entire library.
Skip this one if you already have " The C++ programming language" by Stroustrup - Review written on July 28, 2005
* * * *
Rating: 4 out of 5
10 customers found this review helpful, 13 did not.

This is a good reference and tutorial. But I have spent a lot of time studying Stroustrup before this book, I have a feeling that there is not too much I haven't already known when reading this book. I will say this book is highly recommanded if you do not intend to read Stroustrup.
Not perfect, but the best book out there - Review written on February 08, 2005
* * * *
Rating: 4 out of 5
13 customers found this review helpful, 1 did not.

This book is the best book currently in print on the subject of the C++ STL library. The writing is reasonably clear, and follows a good progressive approach, first introducing the reader to all the general concepts, and then tackling them one by one with all the intricate details.

This book is only for those already with advanced experience with C++ templates. Do not buy this book unless you have read either Schildt's "The Complete C++ Reference" or Lippman's "C++ Primer".

If read cover to cover and fully understood, this book will take you from knowing nothing about the C++ STL, all the way to being an advanced STL expert.

This book could have been better though. For example, almost all the examples use some simple type (such as int or double) as the template arguments. Therefore, most of the examples don't deal with overriding the appropriate operators (e.g. '<' and '==') to get the algorithms to work. Don't get me wrong, this kind of information IS contained in the book, but you have to search for it.
This book smells very nice - Review written on January 28, 2005
* * * * *
Rating: 5 out of 5
4 customers found this review helpful, 4 did not.

Josuttis has written a very thorough compendium of everything you need to know to use STL. Coming out of school, I had seen pretty much only seen 'vector' - little did I know that STL has many different containers matching a variety of problems, plus a whole suite of useful functions working on generic iterators. Josuttis clearly spent much effort to make this massive topic tractible.

I consider this book required reading for serious C++ developers.
So well written that you don't have to read it - Review written on December 09, 2004
* * * * *
Rating: 5 out of 5
4 customers found this review helpful, 1 did not.

I'm an undergraduate computer engineering student. I purchased this book to learn how C++ library-based programming is done in the real world, not in the classroom where we must reinvent the wheel for every project.

I was skeptical when I read the other reviews, but I am extremely impressed with this book. I have not had the chance to sit down and read the book cover to cover yet. However, I have cracked it open a few times when I've gotten stuck, and have been amazed that I have been able to quickly and effortlessly find clear, concise, and thorough answers to every STL question that I've had.

The book is extremely well written: it's well structured, well indexed, and easy to digest. Extremely cost effective.

On a side note, I'm finding it to be an excellent supplement to my data structures & algorithm course's text: the STL is full of innovative, refined, tried and true approaches, whereas the course text presents things coarsely via mechanisms that the author implemented on his own for the sake of his book.
An excellent reference to advanced C++ features - Review written on November 28, 2004
* * * * *
Rating: 5 out of 5
2 customers found this review helpful, 1 did not.

I would consider myself as a veteran in C with limited exposure in C++. My recent project demanded the use of STLs. To be honest, I was initially a bit worried how I would catch up with this new thing (at least new to me). Thanks to Josuttis who really made my life easy. It is a very powerful reference book and has plenty of good examples to explain the standard libraries. I really didn't get a chance to read the whole book. I don't think the book is of that kind either. You want to know how to use say for example the vector, linked list, algorithms or whatever of the STLs. And here you have a wealth of information that will jumpstart your effort.
MVP in my programming book collection - Review written on October 29, 2004
* * * * *
Rating: 5 out of 5
1 customer found this review helpful, 3 did not.

I, and every person that has this book, highly recommend it. If you plan to use C++ *well*, then this book is the best programming companion you will find.
English is terrible - Review written on August 22, 2004
* * *
Rating: 3 out of 5
5 customers found this review helpful, 11 did not.

English is not my native language, but even I found the English translation of this book is poor.

Sometimes the author tried to explain something that should be helpful, but he stopped right before the point that you could fully understand it.
A Solid Reference - Review written on July 29, 2004
* * * * *
Rating: 5 out of 5
7 customers found this review helpful, 2 did not.

This is an excellent reference book on STL containers and algorithms, from the perspective of an intermediate-level programmer (self-taught, two years' C++). I use this reference every day - the hardcover helps it lie nicely on my desk - perhaps in part of what I'm doing: plain(?) C++, not Windows MFC, using the boost::bind from the (freely downloadable) C++ Boost Libraries to write functors (objects that define the call operator) for use as predicates in calling STL algorithms on STL containers. So yes, in my limited experience, Josuttis's book contributes to a happy level of productivity and lets me draw on the STL because it is part of a package deal: Meyer's Effective STL (e.g. item 43: prefer STL algorithm calls to hand-written loops, so as to improve code readability and speed), the Boost::bind library, and Josuttis's reference. If boost doesn't appeal, in chapter 8.3ff Josuttis does supply source code for supplementary composing function objects. With neither those nor boost, any STL algorithm using a functor parameter would likely not merit the learning time, and I'd have STL containers, iterators, and more hand-written loops.

One odd thing: the reference layout has worked well enough for me that I haven't felt the need to read from cover to cover, because the index & table of contents & occasional apt cross-reference almost always put me in the 1-5 pages that answer my question. I browsed another STL book in the bookstore today & wondered, why haven't I come across so helpful a description of user-defined iterators in Josuttis? When I got home, now with question in mind, I found the same information in Josuttis within a minute. I can readily imagine advanced users having questions not addressed in Josuttis, but at present his succinct STL pitfall flags, cautions & workarounds pretty much keep me from STL grief.

OK, so intriguing design concepts are not what this book is about; but the efficiency and thoroughness mean that his writing style is not plain, it's lucid *smile*.

The best reference for beginners - Review written on July 14, 2004
* * * * *
Rating: 5 out of 5
2 customers found this review helpful, 1 did not.

as the title says, it is the best reference book on STL for beginners, once your are very comfortable with the concepts the book represent and C++ seems like a piece of cake, then you may want to get a book which gets deeper into the language.
Many examples is a plus, one minus is that it has many errors which is listed on the book web site that you can download and keep hand, be repaired to fix an error in every 10 or so pages
*THE* book for STL - Review written on April 12, 2004
* * * * *
Rating: 5 out of 5
1 customer found this review helpful.

I purchased this book to learn STL over 2 years ago, after fumbling through a couple others on the subject. Not only was this the most clear for learning STL, it is one of my most used reference books to this date. Well written and organized.
tutorial maybe, NOT a reference of any depth - Review written on February 25, 2004
* *
Rating: 2 out of 5
34 customers found this review helpful.

I so wanted to like this book, but I take a $50 book purchase very seriously. Every time I try to look something up in this book, I end up finding the answer in The C++ Programming Language (3rd Ed, by Stroustrup) instead. That bums me out. I wanted a reference for the STL that I could pull out while coding and get the answer with no digging. This book ain't it.

Also, I read the first couple of chapters straight through and they struck me as weak. There seemed to be selective assumptions about what the reader should know. I'm an experienced coder and I had trouble figuring out what the author was really trying to get across, or why. I guess I'm used to the efficient, logical, concept-packed prose (and expertise) of Stroustrup, Kernighan/Ritchie, and Meyers.

Even so, I will continue to give this book a chance and will edit my review if I find that I was too quick to judgment.
----------
Okay, here's my update. I have returned the book to amazon. The title should be STL Primer, as in a breezy INTRODUCTION to the STL. It is a reference only for beginners (in my view). The examples are uniformly simplistic and there is little depth to the discussions. Even when some potential pitfall or complexity is mentioned, the matter is dropped right there.

This all sounds negative, but I don't mean to be. I was simply misled by the huge number of (inaccurate) raves. This is NOT a reference of any depth. It certainly is not a "must have". It may be a decent tutorial for someone new to STL.

THE book for learning the STL - Review written on November 20, 2003
* * * * *
Rating: 5 out of 5
1 customer found this review helpful, 1 did not.

This book is the best tutorial/reference available for the C++ Standard Template Library. The STL contains some of the most useful features of the C++ library, and without a strong knowledge of the STL you will end up writing a lot of code that already exists. Most books said to be a tutorial and reference usually do a poor job as a tutorial, and provide too much fluff for a reference. This book is the exception. If you want to learn the STL, or need a good reference, this is the only book you will want to have on your desk.
My favorite STL reference - Review written on November 07, 2003
* * * * *
Rating: 5 out of 5
2 customers found this review helpful.

In learning STL, I started with the irreplaceable Stroustrup, but it was Josuttis who got me functioning the most quickly. Things are very easy to find. It's straightforwardly organized in a way that takes the mystique out of STL. At the office, this is the most borrowed of my C++ books, and the one that lies open on my desk all day.
Great book on the STL library - Review written on September 07, 2003
* * * * *
Rating: 5 out of 5
1 customer found this review helpful.

This book provides detailed information on the STL. I bought this book to get help using STL for the first time in a project. Using STL was very easy with the help of this book. Other people on the project also ended up buying this book.
Most useful reference on the shelf - Review written on June 24, 2003
* * * * *
Rating: 5 out of 5
4 customers found this review helpful.

This is both a text and a reference manual. It is the most useful reference I have ever purchased. It may be the best written text I ever read. Amazing for someone who probably didn't learn English as a first language. Absolutely essential for anyone doing serious development with the C++ Standard Library.