Effective STL: 50 Specific Ways to Improve Your Use of th... and over 2 million other books are available for Amazon Kindle . Learn more
£31.99
  • RRP: £33.99
  • You Save: £2.00 (6%)
FREE Delivery in the UK.
Only 1 left in stock (more on the way).
Dispatched from and sold by Amazon.
Gift-wrap available.
Quantity:1
Trade in your item
Get a £7.20
Gift Card.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library: 50 Specific Ways to Improve the Use of the Standard Template Library (Professional Computing) Paperback – 6 Jun 2001


See all 4 formats and editions Hide other formats and editions
Amazon Price New from Used from
Kindle Edition
"Please retry"
Paperback
"Please retry"
£31.99
£18.85 £17.95

Frequently Bought Together

Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library: 50 Specific Ways to Improve the Use of the Standard Template Library (Professional Computing) + Effective C++: 55 Specific Ways to Improve Your Programs and Designs (Professional Computing) + More Effective C++: 35 New Ways to Improve Your Programs and Designs (Professional Computing)
Price For All Three: £81.57

Buy the selected items together


Trade In this Item for up to £7.20
Trade in Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library: 50 Specific Ways to Improve the Use of the Standard Template Library (Professional Computing) for an Amazon Gift Card of up to £7.20, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more

Product details

  • Paperback: 288 pages
  • Publisher: Addison Wesley; 1 edition (6 Jun 2001)
  • Language: English
  • ISBN-10: 9780201749625
  • ISBN-13: 978-0201749625
  • ASIN: 0201749629
  • Product Dimensions: 18.8 x 2.3 x 23.1 cm
  • Average Customer Review: 4.4 out of 5 stars  See all reviews (12 customer reviews)
  • Amazon Bestsellers Rank: 165,171 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Author

Discover books, learn about writers, and more.

Product Description

Amazon 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 organised 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-colour printing to highlight the most important lines of code. (Advanced developers will enjoy Meyers' 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 for writing code that is slow or just plain wrong.

Other areas covered in Effective STL include 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. 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.


Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

Customer Reviews

4.4 out of 5 stars
Share your thoughts with other customers

Most Helpful Customer Reviews

24 of 24 people found the following review helpful By Phil Nash on 27 July 2001
Format: Paperback
Up to the standard (no pun intended) of Scott's earlier C++ works (Effective C++ and More Effective C++). I've read half of it so far and even though it has not taught me any major new insights it has rounded out my understanding of some of the details of STL usage. One thing I particularly liked was that, while Scott doesn't pull any punches when it comes to pointing out certain flaws or quirks in the library, overall he is very enthusiastic and recommends it highly - a good balance that is inspires respect (both in him and in the library!). My only criticism is that maybe it has been contrived a little too much for the "effective" books format, and some of the material looks like he's just desperately tried to think of something that will fit (maybe that's just my interpretation). Nonetheless, Scott's accessible narrative style makes this book an essential aid to mastering the STL.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
15 of 16 people found the following review helpful By A Customer on 10 July 2001
Format: Paperback
The STL is a boon to C++ programmers, but suffers from a lack of _good_ readable documentation - sure there are tutorials and reference books, but little to say which of several choices is actually the best in given circumstances. This book, like Meyers' Effective C++ one, does tackle that area: for example, looking at the efficiency of passing function objects to algorithms vs using function pointers. It also describes a number of areas that might have programmers scratching their heads over some non-obvious errors (such as use of erase).
The style is a bit patronising in places, but that is more than made up for by the excellent material in the book - it's one of the few STL books that warrants space on my bookshelf, not that it'll spend much time gathering dust there!
Now, if only Addison-Wesley would produce a searchable CD version of the book...
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
2 of 2 people found the following review helpful By Thing with a hook on 21 Feb 2007
Format: Paperback
The man Meyers has worked his magic on the STL. If you've read Effective C++, then you know what to expect, and should invest accordingly. Meyers is on top of his game, finding the right balance of sage advice and dry wit as he guides you through the complexities of the STL. If you haven't read Effective C++, you really ought to before reading this one.

A wide range of advice is dispensed, including: advice on what containers to use, range member functions, avoiding loops, erase-remove, auto_ptr, associative containers, equality vs equivalence, gotchas like const keys in sets and maps and references to reference problems, efficiency in sorting, searching and inserting, iterators, functors and adapting them.

Phew. A lot of ground is covered. You will want to be familiar with the structure of the STL, I don't recommend learning the STL from scratch from this book, and you may want a good STL reference. But those aren't half as much fun to read as Scott Meyers.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
3 of 3 people found the following review helpful By A Customer on 25 Aug 2003
Format: Paperback
Continues in the same vein as Effective C+ and More Effective C++, though a bit more focussed and in depth than the previous 2 books. Though there are good STL reference books (Josuttis, Austern), this book is a rare specimen that explores the deeper issues of STL use.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
1 of 1 people found the following review helpful By Steve on 3 Jun 2012
Format: Paperback Verified Purchase
I've now bought all of Scott Meyers' books, and if you have anything to do with C++ then I strongly recommend you do the same.

Frankly, they are a must-have collection that describe the best way of writing C++ and using the STL. If only they'd been available all those years ago when I first learnt C++ , then I could have saved myself much grief!

Scott's style is very informal and readable. Not only does he make difficult topics easy to understand, but he does so in an interesting and accessible manner.

It's worth pointing out that these books are not intended for learning C++ from scratch, rather they are intended to show you the best ways of applying your knowledge in solving many common programming problems. This STL book focuses on getting the most out of the standard library functions, and avoiding the many pitfalls and misconceptions. All the items are explained with useful code examples (some of which may well find their way into your own libraries of most used functions/templates). Reading this book, not only do you fully understand the STL functions and how to use them properly, but also when to use them and why one may be much better suited to your particular task than the other (similar) functions.

In short, buy it (and his companion books)!
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
1 of 1 people found the following review helpful By TomH on 2 Oct 2011
Format: Paperback Verified Purchase
It is easy to get started with STL, and make some code that works. Problem is that STL is actually so efficient, that you may not notice that you do something wrong. There is no such thing as a default container to handle all problems that involves a collection of objects. STL is fast, and this book explains how to make correct use of STL, pressing all the juice out of the lemon.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again


Feedback