Sold Out
Book Categories |
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 63
Item 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 83
Item 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 116
Item 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_iterator’s base
iterator. 123
Item 29: Consider
istreambuf_iterators for character by character input. 126
Chapter 5: Algorithms 128
Item 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. 139
Item 33: Be wary of
remove-like algorithms on containers of pointers. 143
Item 34: Note which algorithms expect sorted ranges. 146
Item 35: Implement simple case-insensitive string comparisons via
mismatch or
lexicographical_compare. 150
Item 36: Understand the proper implementation of
copy_if. 154
Item 37: Use
accumulate or
for_each to summarize ranges. 156
Chapter 6: Functors, Functor Classes, Functions, etc. 162
Item 38: Design functor classes for pass-by-value. 162
Item 39: Make predicates pure functions. 166
Item 40: Make functor classes adaptable. 169
Item 41: Understand the reasons for
ptr_fun,
mem_fun, and
mem_fun_ref. 173
Item 42: Make sure
less<T> means
operator<. 177
Chapter 7: Programming with the STL 181
Item 43: Prefer algorithm calls to hand-written loops. 181
Item 44: Prefer member functions to algorithms with the same names. 190
Item 45: Distinguish among
count,
find,
binary_search,
lower_bound,
upper_bound, and
equal_range. 192
Item 46: Consider function objects instead of functions as algorithm parameters. 201
Item 47: Avoid producing write-only code. 206
Item 48: Always
#include the proper headers. 209
Item 49: Learn to decipher STL-related compiler diagnostics. 210
Item 50: Familiarize yourself with STL-related web sites. 217
Bibliography 225Appendix A: Locales and Case-Insensitive String Comparisons 229 Appendix B: Remarks on Microsoft’s STL Platforms 239Index 245
Login|Complaints|Blog|Games|Digital Media|Souls|Obituary|Contact Us|FAQ
CAN'T FIND WHAT YOU'RE LOOKING FOR? CLICK HERE!!! X
You must be logged in to add to WishlistX
This item is in your Wish ListX
This item is in your CollectionEffective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library (Addison-Wesley Professional Computing Series)
X
This Item is in Your InventoryEffective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library (Addison-Wesley Professional Computing Series)
X
You must be logged in to review the productsX
X
X
Add Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library (Addison-Wesley Professional Computing 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, Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library (Addison-Wesley Professional Computing Series) to the inventory that you are selling on WonderClubX
X
Add Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library (Addison-Wesley Professional Computing 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, Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library (Addison-Wesley Professional Computing Series) to your collection on WonderClub |