Skip to content
Paperback Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library Book

ISBN: 0201749629

ISBN13: 9780201749625

Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library

(Book #3 in the Effective C++ Series)

"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...

Recommended

Format: Paperback

Condition: Acceptable

$7.69
Save $47.30!
List Price $54.99
Almost Gone, Only 2 Left!

Customer Reviews

5 ratings

Solid Analysis

Four years passed when I first read this book, I still consider it a classic on the STL topic. The best parts of this book are its analyses and reasoning although a bit verbose and rambling. You could come up all the results by yourself through several years battling industrial experience. But, if all these "effective weapons" have already been manufactured and well justified by others, why not just take it. It will save you from a lot of scars. According to my own experience, if you really want to master STL, the following way is a solid path (luckily I'v gone through it by accident): 1. C++ template programming, or as C++ community named it "generic programming". The whole STL is built on it. 2. foundamental data structures, especially balanced tree, because all associative containers are implemented as some kinds of balanced tree (this step should be very easy to achieve by anyone). 3. practical algorithms (not only those on your college textbook) widely used in industrial background, the more the better. (If you are an aggresive reader, "Introduction to algorithms, 2nd Ed." by Thomas Cormen could satisfy your stomach. If you don't feel exhaustive, try Donald Knuth's "The Art of Computer Programming". If you are still unsatisfied, tell me your name, because honestly I want to learn something from you). 4. solid OO understanding, STL prefers it. For example, when you choose between traditional functions or functors, STL prefers functors. The same between smart pointers and raw pointers, actually iterators are sort of smart pointers (Anyway, don't get confused, the coverage of OO is much more than what are used in STL context). After you finish all these steps, STL will become so natural to you, you won't have any surprise. Actually I have a "Least Surprise Principle". You can use this book as a tool to gauge your proficiency on STL. When you finish your reading, if you get a lot of surprises, you really need this book. If you feel some surprises but not a lot, you are in good shape. If you feel everything in this book is so natural without any surprise, you are master already. Anyway, if you reached this level, don't forget send me a short e-mail, I will take my hat off to you.

improved my code immediately

I'm a professional software engineer. I write code all day long and have lots of experience with C++, but I hadn't used STL much until recently. If you're in a similar situation--decent C++ knowledge but not an STL expert--this book is for you. I haven't even read the whole thing yet, and already I am using patterns from the book to write more effective code. Before I started this book, I thought STL was kind of neat. It had some useful containers. It was nice to be able to use a list or map or string class that had already been tested. Boy, was I underestimating the power of STL. This book has made me a big STL fan, but I'm not reviewing the STL now so I'll leave that topic alone... Thanks to Scott Meyers, I have a much better grasp of the capabilities and limitations of STL. I can use it to do a lot more. I write more concise code that's easier to read and debug. I make better choices about which containers to use. I recognize situations where I can use an STL algorithm instead of many lines of my own code. In short, I look at the STL code I wrote before and laugh... I mean, it all works, but the Meyers book has taken my use of (and appreciation for) the STL to a whole new level. I recommend this book for any C++ developer who isn't already an STL expert. An update, 2 years after the above text was written: I still recommend this book to people and still think it's the best STL book I've read.

A must have

Following in the tradition of his prior books, Meyers delivers another gem with Effective STL. This one is a must have for your software development bookshelf.I user several STL books regularly and none of them have come close to giving me the in depth understanding that this book has. Sure, others are better references, beginner guides, etc.. but if you really want to understand what is going on under the covers and how to write -good- STL, this book is your answer. I have seen suggestions from this book result in massive performance improvements in naively written STL code.Enough said, go pick up a copy .. :)

Scott Does It Again

There we go - with his well-known sharpness and diligence, Scott absorbed STL in all detail, taught it in seminars, chewed on the ensuing experience, and distilled it all in this book.I was one of the reviewers and in the beginning I thought that reviewing a book on STL is going to be an easy enough task. I was wrong. I learned lots of new things on using STL effectively: why `empty()` is better than `size() == 0`, when and how to write custom allocators, how std::string might be implemented, how associative containers distinguish between equality and equivalence, how to implement associative containers as sorted vectors (that's a gem!), and many, many other things that I either had a blurry understanding of, or simply didn't know about. Now I'm glad I do, because my understanding of the STL and the practical use of it are much better.The book went through an extensive review process; it is really combed and distilled to its finest. I recommend it to any C++ programmer who uses STL - which should be, any C++ programmer, period. Five well deserved stars.

Awesome!

This is a truly useful book. It explains lots of little "gotchas" that I didn't know about previously, and Scott does his usual excellent job at explaining *why* it's important to do things a certain way (and no other). One part that I found particularly interesting is about the futility of writing container-independent code; not only does that section show why this is a bad idea, it also serves as a splendid illustration of the idiosyncracies of the various containers. The chapter on iterators is priceless, as are the tips about writing comprehensible code and debugging.The presentation is very much up-to-date (even to the point where it anticipates some of the forthcoming updates to the C++ standard). The writing style is clear and precise without sounding academic or condescending, and the book has an index that actually works."Effective STL" is every bit as good as "Effective C++" and "More Effective C++". No C++ programmer should still be writing code without the STL, and no-one writing code with the STL should be without this book. Buy it!
Copyright © 2023 Thriftbooks.com Terms of Use | Privacy Policy | Do Not Sell/Share My Personal Information | Cookie Policy | Cookie Preferences | Accessibility Statement
ThriftBooks® and the ThriftBooks® logo are registered trademarks of Thrift Books Global, LLC
GoDaddy Verified and Secured