Effective STL
(häftad)50 Specific Ways to Improve Your Use of the Standard Template Library
av Scott Meyers
Herb Sutter, independent consultant and secretary of the ISO/ANSI C++ standards committeeThere 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 whats in the STL. Effective STL shows you how to use it. Each of the books 50 guidelines is backed by Meyers legendary analysis and incisive examples, so youll 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.
(Computer Bookshops Limited)
Passar bra ihop
|
De som köpt den här boken har ofta också köpt Effective C++: 55 Specific Ways to Improve Your Programs & Design 3rd Ed... (häftad) av Scott Meyers | |||
|
Pris för båda:
634:-Köp
|
Fler böcker av Scott Meyers
Effective C++: 55 Specific Ways to Improve Your Prog...Scott Meyers (häftad) |
More Effective C++Scott Meyers (häftad) |
Mac Os X LeopardScott Meyers, Mike Lee (häftad) |
Learn Mac OS X Snow LeopardMike Lee, Scott Meyers (häftad) | |||
|
317:- Köp
|
325:- Köp
|
261:- Köp
|
227:- Köp
|
Kundrecensioner
Effektiv användning av STL
2009-02-13 Roger Schildmeijer
Tredje gången gillt för Scott Meyers. Sista(?) delen i effective-serien/trilogin håller minst lika hög klass som första delen (Effective C++). Vill du utnyttja kraften i standardbiblioteket till fullo rekommenderar jag dig att läsa den här boken
Bloggat om Effective STL
Övrig information
Scott Meyers is one of the world's foremost experts on C++ software development. He is author of the best-selling Effective C++ series (Effective C++, More Effective C++, and Effective STL), designer and author of the innovative Effective C++ CD, consulting editor for Addison-Wesley's Effective Software Development Series, and a member of the advisory board for Software Development magazine. He has served on the technical advisory boards for several start-up companies. Meyers received his Ph.D. in computer science from Brown University in 1993. His web site is www.aristeia.com.
(Computer Bookshops Limited)
Innehållsförteckning
Preface xiAcknowledgments xvIntroduction 1Chapter 1: Containers 11
Item 1: Choose your containers with care. 11
Item 2: Beware the illusion of container-independent code. 15
Item 3: Make copying cheap and correct for objects in containers. 20
Item 4: Call empty instead of checking size() against zero. 23
Item 5: Prefer range member functions to their single-element counterparts. 24
Item 6: Be alert for C++s most vexing parse. 33
Item 7: When using containers of newed pointers, remember to delete the pointers before the container is destroyed. 36
Item 8: Never create containers of auto_ptrs. 40
Item 9: Choose carefully among erasing options. 43
Item 10: Be aware of allocator conventions and restrictions. 48
Item 11: Understand the legitimate uses of custom allocators. 54
Item 12: Have realistic expectations about the thread safety of STL containers. 58
Chapter 2: vector and string 63Item 13: Prefer vector and string to dynamically allocated arrays. 63
Item 14: Use reserve to avoid unnecessary reallocations. 66
Item 15: Be aware of variations in string implementations. 68
Item 16: Know how to pass vector and string data to legacy APIs. 74
Item 17: Use the swap trick to trim excess capacity. 77
Item 18: Avoid using vector<bool>. 79
Chapter 3: Associative Containers 83Item 19: Understand the difference between equality and equivalence. 83
Item 20: Specify comparison types for associative containers of pointers. 88
Item 21: Always have comparison functions return false for equal values. 92
Item 22: Avoid in-place key modification in set and multiset. 95
Item 23: Consider replacing associative containers with sorted vectors. 100
Item 24: Choose carefully between map::operator[] and map::insert when efficiency is important. 106
Item 25: Familiarize yourself with the nonstandard hashed containers. 111
Chapter 4: Iterators 116Item 26: Prefer iterator to const_iterator, reverse_iterator, and const_reverse_iterator. 116
Item 27: Use distance and advance to convert const_iterators to iterators. 120
Item 28: Understand how to use a reverse_iterators base iterator. 123
Item 29: Consider istreambuf_iterators for character by character input. 126
Chapter 5: Algorithms 128Item 30: Make sure destination ranges are big enough. 129
Item 31: Know your sorting options. 133
Item 32: Follow remove-like algorithms by erase if you really want to remove something.&nb...
(Computer Bookshops Limited)