The C++ Standard Library: A Tutorial and Reference
by Nicolai M. Josuttis
C++ Templates: The Complete Guide
by David Vandevoorde; Nicolai M. Josuttis
This is the Safari online edition of the printed book.
“This is Effective C++ volume three –
it’s really that good.”
– Herb Sutter, independent consultant and secretary of the
ISO/ANSI C++ standards committee
“There are very few books which all C++ programmers
must have. Add Effective STL to that
list.”
– Thomas Becker, Senior Software Engineer, Zephyr Associates,
Inc., and columnist, C/C++ Users Journal
C++’s Standard Template Library is revolutionary, but learning to use it well has always been a challenge. Until now. In this book, best-selling author Scott Meyers (Effective C++, and More Effective C++) reveals the critical rules of thumb employed by the experts – the things they almost always do or almost always avoid doing – to get the most out of the library.
Other books describe what’s in the STL. Effective STL shows you how to use it. Each of the book’s 50 guidelines is backed by Meyers’ legendary analysis and incisive examples, so you’ll learn not only what to do, but also when to do it – and why.
Highlights of Effective STL include:
Advice on choosing among standard STL containers (like vector and list), nonstandard STL containers (like hash_set and hash_map), and non-STL containers (like bitset).
Techniques to maximize the efficiency of the STL and the programs that use it.
Insights into the behavior of iterators, function objects, and allocators, including things you should not do.
Guidance for the proper use of algorithms and member functions whose names are the same (e.g., find), but whose actions differ in subtle (but important) ways.
Discussions of potential portability problems, including straightforward ways to avoid them.
Like Meyers’ previous books, Effective STL is filled with proven wisdom that comes only from experience. Its clear, concise, penetrating style makes it an essential resource for every STL programmer.
Average Amazon.com® Rating: ![]()
![]()
![]()
![]()
Based on 36 Ratings
Myers Never Disappoints - 2009-11-08
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
This is another home run by Scott Myers. This book will immediately improve your use of the STL in terms of both exception safety and program efficiency. He breaks down every worthwhile container, algorithm et c and shows you exactly what you need to know to maximize its effectiveness. I highly recommend this, along with any other Scott Myers C++ book to any programmer out there.
High quality, correct but you do not need it. - 2009-02-11
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
I have this book for about 4 years now. I have been through the book many times myself, from a view point of a novice programmer to a view point of a more experienced coder. I have finally decided to write up a review for this book, it can be summed up as follows:
1. This book is high quality, printed in high quality papers. It is expensive, however, for such a short book.
2. The book is correct, to the very least, if not useful. This is in fact head and shoulders above many other books in the market right now. I consider most of the programming books for the dummies.
3. As you read more books, you realize that nearly all the best books are written by an elite circle. In the case of C++, the circle is the people surrounding Stroustrup. They all know each other and promote the works of each other. Much like in the academic game. But seriously, once you have identified this elite circle, read nothing but the works published by them.
4. In my opinion, to understand STL to the fullest, you have to have a deep knowledge in the Data structures and Algorithms. Otherwise, you could only take the advised best practices for granted without knowing why exactly they are the best practices. And once you know the Data structures decently, the best advices become simply trivia.
5. Therefore, if you are looking at this book, despite its high quality, I think what you really need is a good book in Data structures and Algorithms. Without that, you won't understand this book, and with that, you do not need this book any more.
6. I would have rated this book highly when I was a novice in programming. But when I began to learn more and more about this trade (especially after studying a couple of classic books in Data structures and Algorithms), this book became a laugh stock. How dare Scott Meyers declare himself something as the foremost expert in C++? Anybody with decent graduate level Computer Science knowledge should see that most items in this book are nothing but trivia.
Could be so much more... - 2009-02-02
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
I had to give this book three stars because the author is capable of so much more. Effective C++ is very tightly written and like the other Professional Computing Series books that follow the form of itemizing topics into digestible chunks, it works nicely as a desktop reference once you are familiar with the content.
Effective STL does not. Nearly none of the items are under three pages and many of the items are over six pages. It's not because there is so much to each item (e.g. it should only take 1 page to explain why map::insert is more efficient than map::operator[] for adding new elements). It's because each item contains a lot of information only tangentially related to the item that could easily be made into their own two-page items. Much of the time I have to flip back to the start of an item to remind myself what the topic actually is. All of this makes the book relatively useless as a quick desk reference because the ideas all blend together in memory and there is no way to look them up. You may remember a solution to a problem you are working on exists in this book but it is possible (if not likely) that you will have to read ten or more pages, and several items, flipping back and forth, trying to find it.
I hope that Scott Meyers wasn't just doggedly sticking to the number 50 for consistency's sake but I can't think of any other reason why this book was not better organized into 100 items or an asymmetrical 103 (heaven forbid!) items.
Deserves five stars - 2008-06-17
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
I would suggest this book anyone dealing with STL. It provides extensive best practice input for the experienced C++/STL developer.
STL Tutorial - 2007-11-05
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
What a great book! Helped me get past mental blocks on using the STL.
Top Level Categories:
Programming
Sub-Categories:
Programming > C++
C++ > Standard Library
Some information on this page was provided using data from Amazon.com®. View at Amazon >