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.
|von Scott Meyers|
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
- 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
Pflichtlektüre für jeden C++ Entwickler
Effective STL knüpft an die gewohnte Qualität von Effective C++ und More Effective C++ an. Jedes dieser Bücher gehört zur Pflichtlektüre eines C++ Entwicklers. Scott Meyers beschreibt sehr anschaulich wie man die STL effizient und korrekt benutzt. Hervorzuheben ist die zweifarbige Darstellung der wichtigsten Teile des Beispielcodes, durch die man schnell auf das Wesentliche gelenkt wird. Das Buch lässt sich sehr flüssig lesen und ist auf jeden Fall eine Bereicherung in meinem Arbeitsumfeld.