Start reading Effective STL: 50 Specific Ways to Improve Your Use of th... on your Kindle in under a minute. Don't have a Kindle? Get your Kindle here.
Programming Books C Java PHP Python Learn more Browse Programming Books
This title is not currently available for purchase
Anybody can read Kindle books—even without a Kindle device—with the FREE Kindle app for smartphones, tablets and computers.
Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 

Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library (Addison-Wesley Professional Computing Series) [Kindle Edition]

Scott Meyers
4.5 out of 5 stars  See all reviews (47 customer reviews)

Pricing information not available.

Formats

Amazon Price New from Used from
Kindle Edition $22.99  
Paperback $35.02  
Kindle Daily Deals
Kindle Delivers: Daily Deals
Subscribe to find out about each day's Kindle Daily Deals for adults and young readers. Learn more (U.S. customers only)

Book Description

This is the eBook version 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.

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.



Editorial Reviews

Amazon.com Review

Written for the intermediate or advanced C++ programmer, renowned C++ expert Scott Meyers provides essential techniques for getting more out of the Standard Template Library in Effective STL, a tutorial for doing more with this powerful library.

STL is a hugely powerful feature of today's C++, but one with a well-earned reputation for complexity. The book is organized into 50 tips that explore different areas of the STL. Besides providing a list of dos and don'ts, Meyers presents a lot of background on what works and what doesn't with STL. Each tip is demonstrated with in-depth coding samples, many of which make use of two-color printing to highlight the most important lines of code. (Advanced developers will enjoy Meyers's in-depth explanations, while those who are in a hurry can skip ahead to the recommended tip itself.)

A good part of this book involves using containers, like vectors and maps, which are built into STL. (Besides the standard built-in containers, the author also highlights recent additions to STL like B-trees, which are available as extensions from other vendors.) You'll learn the best ways to allocate, add, change, and delete items inside containers, including associative containers like maps. You'll also learn to avoid common pitfalls, which can result in writing code that is slow or just plain wrong.

Other areas covered in Effective STL cover getting the most out of the 100-plus STL algorithms that are bundled with this library. Meyers shows you how to choose the correct algorithm for sorting and other functions. (Even advanced developers will learn something here.) Sections on using function objects (called functors) round out the text. Meyers shows you when these classes make sense and the best ways to implement them. Besides specific tips, you'll get plenty of general programming advice. A useful appendix shows the limitations of STL as implemented in Microsoft Visual C++ 6.0 and how to overcome them.

Overall, Effective STL is a really invaluable source of programming expertise on an essential aspect of today's C++ for anyone who is using--or planning to use--STL in real production code. It is quite simply a must-have. --Richard Dragan

Topics covered:

  • Introduction to advanced Standard Template Library (STL) programming techniques
  • 50 tips and best practices for STL illustrated with sample tutorial code
  • Choosing containers
  • Efficient copying of elements inside containers
  • Removing, erasing, and cleaning up items from containers
  • Using custom allocators with STL containers
  • Thread safety with STL
  • Tips for programming with the STL vector and string classes (including reserving memory and calling legacy C/C++ code)
  • Tips for associative containers (including comparing items, sorted vectors, and non-standard enhancements to STL)
  • Tips for selecting and using STL iterator classes
  • STL algorithms (including sorting, removing, and comparing items)
  • Using functors with STL
  • General tips for STL programming (including advice for choosing algorithms and understanding compiler diagnostic messages)
  • String locales
  • Overcoming STL imitations in Microsoft Visual C++ 6.0

From the Back Cover

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

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.



    0201749629B06142001

  • Product Details

    • File Size: 832 KB
    • Print Length: 282 pages
    • Page Numbers Source ISBN: 0201749629
    • Simultaneous Device Usage: Up to 5 simultaneous devices, per publisher limits
    • Publisher: Addison-Wesley Professional; 1 edition (May 14, 2008)
    • Language: English
    • ASIN: B0019HW0K6
    • Text-to-Speech: Enabled
    • X-Ray:
    • Lending: Not Enabled
    • Amazon Best Sellers Rank: #386,358 Paid in Kindle Store (See Top 100 Paid in Kindle Store)
    •  Would you like to give feedback on images?


    Customer Reviews

    Most Helpful Customer Reviews
    35 of 36 people found the following review helpful
    5.0 out of 5 stars Scott Does It Again July 5, 2001
    Format:Paperback
    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.
    Comment | 
    Was this review helpful to you?
    36 of 39 people found the following review helpful
    5.0 out of 5 stars Awesome! June 17, 2001
    By Michi
    Format:Paperback
    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!
    Comment | 
    Was this review helpful to you?
    21 of 21 people found the following review helpful
    5.0 out of 5 stars improved my code immediately August 13, 2004
    Format:Paperback|Verified Purchase
    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.
    Comment | 
    Was this review helpful to you?
    13 of 13 people found the following review helpful
    4.0 out of 5 stars Not quite up to the standards of Effective C++ October 9, 2001
    Format:Paperback
    I was very pleased to see this book come out as I am a huge fan of Meyers' Effective C++ and More Effective C++. Both of those books offer many concrete suggestions on how to improve your C++ coding and do things you didn't think you could do. Effective STL, on the other hand, offers mainly suggestions of what not to do. You'll find most of the items tell you that you should not use a specific technique because it is not portable, not a clean design, or simply because it will not work.
    All of this is good to know, but I didn't find it as useful as his other two Effective books. Other than the use of the built in looping functions like for_each the book didn't really provide me with many new "tricks" for my "bag."
    However, all the information in the book is useful, and the intermediate level STL programmer will probably learn a lot of ways to avoid problems by reading this book. Hopefully there will be a second edition in the future that will give the book a little more utility.
    Comment | 
    Was this review helpful to you?
    12 of 12 people found the following review helpful
    5.0 out of 5 stars A must have October 29, 2002
    Format:Paperback
    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 .. :)
    Comment | 
    Was this review helpful to you?
    Most Recent Customer Reviews
    5.0 out of 5 stars One helluva book
    I was brought up on STL with C++, and can't imagine the language without it. This book, however, opened my eyes to many of the strengths, weaknesses, and issues of the Standard... Read more
    Published 1 month ago by Max
    5.0 out of 5 stars Son-in -law love the book
    Gift for a Christmas present, The person I gave it to was very pleased that they received it for a gift.
    Published 3 months ago by jerryw
    3.0 out of 5 stars Effective STL shows its age
    I'm a great fan of Meyer's Effective C++, but this book is not in that league. Maybe it was a good book when it came out (in 2001! Read more
    Published 7 months ago by Robert the Good
    5.0 out of 5 stars Much to absorbbasis
    I read this slowly, a few pages at a time. There's a lot to absorb, especially if you don't use all of the STL on a daily basis. Read more
    Published 8 months ago by Richard Salz
    4.0 out of 5 stars Did not realise this was an international seller
    Being international seller it took a good 4 weeks to arrive. Book was as good as new only for a fold mark in the back cover page running vertically down the whole cover. Read more
    Published 14 months ago by Balakrishnan Raman
    5.0 out of 5 stars a great book about STL
    It let me to know how to use, when to use, where to use and what to use STL. I read it several times and feel very comfortable with STL right now
    Published 15 months ago by Anping Chen
    5.0 out of 5 stars Good as Expected
    I am satisfied with the purchase. The book has some highlighting but it was already mentioned in the advertisement, so I should not complain. Overall, I am happy.
    Published 23 months ago by Santosh
    5.0 out of 5 stars Not timeless, but still a very useful volume
    "Effective STL" is the final installment of Scott Meyers' "Effective" trilogy. While the first two volumes ("Effective C++" and "More Effective C++") discussed general tips on C++,... Read more
    Published on April 10, 2011 by Alexandros Gezerlis
    5.0 out of 5 stars Buy It Now!
    I am a generally experienced C++ programmer, but I haven't dealt with STL very much. I plan to use it a lot more in the near future, and this sounded to me like a book that would... Read more
    Published on January 29, 2011 by Graeme P. Swallow
    5.0 out of 5 stars An eye opener book
    I underestimated the power of the STL. The STL is small but a powerful library. Now, I'm more productive because I'm writing less code. Read more
    Published on September 2, 2010 by Armando Fonseca
    Search Customer Reviews
    Only search this product's reviews

    Book Extras from the Shelfari Community

    (What's this?)

    To add, correct, or read more Book Extras for Effective STL , visit Shelfari, an Amazon.com company.


    More About the Author

    Scott Meyers is one of the world's foremost experts on C++ software development. He offers training and consulting services to clients worldwide.

    Scott wrote the best-selling Effective C++ series (Effective C++, More Effective C++, and Effective STL), wrote and designed the innovative Effective C++ CD, is consulting editor for Addison Wesley's Effective Software Development Series, and was a founding member of the Advisory Board for The C++ Source. He has served as a technical advisor to several start-up companies, and he received the 2009 Dr. Dobb's Excellence in Programming Award. A programmer since 1972, he holds an M.S. in Computer Science from Stanford University and a Ph.D. from Brown University.



    Forums

    There are no discussions about this product yet.
    Be the first to discuss this product with the community.
    Start a new discussion
    Topic:
    First post:
    Prompts for sign-in
     



    Look for Similar Items by Category


    ARRAY(0xa5a15b7c)