دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: Scott Meyers
سری:
ISBN (شابک) : 9780201749625
ناشر: Addison Wesley
سال نشر: 2001
تعداد صفحات: 198
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 2 مگابایت
در صورت تبدیل فایل کتاب Effective STL 50 Specific Ways to Improve Your Use of the Standard Template Library به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب موثر راه های خاص STL 50 برای بهبود استفاده از کتابخانه استاندارد قالب نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
مطمئناً، STL دارای تکرار کنندهها، الگوریتمها و اشیاء تابع
است، اما برای اکثر برنامهنویسهای C++
ظرفیتهایی است که برجسته هستند. قدرتمندتر و انعطافپذیرتر از
آرایهها،
آنها به صورت پویا رشد میکنند (و اغلب کوچک میشوند)، حافظه خود
را مدیریت میکنند، تعداد اجسامی را که نگه میدارند ردیابی
میکنند، پیچیدگی الگوریتمی عملیاتی را که پشتیبانی میکنند محدود
میکنند، و خیلی خیلی بیشتر محبوبیت آنها به راحتی قابل درک است.
آنها به سادگی
بهتر از رقبای خود هستند، صرف نظر از اینکه این رقابت از
ظروف در کتابخانه های دیگر می آید یا از نوع ظرفی است که خودتان
می نویسید. ظروف STL
خیلی خوب نیستند. واقعا خوبن
Sure, the STL has iterators, algorithms, and function objects,
but for most C++
programmers, its the containers that stand out. More powerful
and flexible than arrays,
they grow (and often shrink) dynamically, manage their own
memory, keep track of
how many objects they hold, bound the algorithmic complexity of
the operations they
support, and much, much more. Their popularity is easy to
understand. Theyre simply
better than their competition, regardless of whether that
competition comes from
containers in other libraries or is a container type youd write
yourself. STL containers
arent just good. Theyre really good.
Cover......Page 1
Contents......Page 8
Preface......Page 12
Acknowledgments......Page 16
Introduction......Page 20
Item 1: Choose your containers with care.......Page 30
Item 2: Beware the illusion of container-independent code.......Page 34
Item 3: Make copying cheap and correct for objects in containers.......Page 39
Item 4: Call empty instead of checking size() against zero.......Page 42
Item 5: Prefer range member functions to their single-element counterparts.......Page 43
Item 6: Be alert for C++’s most vexing parse.......Page 52
Item 7: When using containers of newed pointers, remember to delete the pointers before the container is destroyed.......Page 55
Item 8: Never create containers of auto_ptrs.......Page 59
Item 9: Choose carefully among erasing options.......Page 62
Item 10: Be aware of allocator conventions and restrictions.......Page 67
Item 11: Understand the legitimate uses of custom allocators.......Page 73
Item 12: Have realistic expectations about the thread safety of STL containers.......Page 77
Item 13: Prefer vector and string to dynamically allocated arrays.......Page 82
Item 14: Use reserve to avoid unnecessary reallocations.......Page 85
Item 15: Be aware of variations in string implementations.......Page 87
Item 16: Know how to pass vector and string data to legacy APIs.......Page 93
Item 17: Use “the swap trick” to trim excess capacity.......Page 96
Item 18: Avoid using vector.......Page 98
Item 19: Understand the difference between equality and equivalence.......Page 102
Item 20: Specify comparison types for associative containers of pointers.......Page 107
Item 21: Always have comparison functions return false for equal values.......Page 111
Item 22: Avoid in-place key modification in set and multiset.......Page 114
Item 23: Consider replacing associative containers with sorted vectors.......Page 119
Item 24: Choose carefully between map::operator[] and map::insert when efficiency is important.......Page 125
Item 25: Familiarize yourself with the nonstandard hashed containers.......Page 130
Item 26: Prefer iterator to const_iterator, reverse_iterator, and const_reverse_iterator.......Page 135
Item 27: Use distance and advance to convert a container’s const_iterators to iterators.......Page 139
Item 28: Understand how to use a reverse_iterator’s base iterator.......Page 142
Item 29: Consider istreambuf_iterators for character-by-character input.......Page 145
Chapter 5: Algorithms......Page 147
Item 30: Make sure destination ranges are big enough.......Page 148
Item 31: Know your sorting options.......Page 152
Item 32: Follow remove-like algorithms by erase if you really want to remove something.......Page 158
Item 33: Be wary of remove-like algorithms on containers of pointers.......Page 162
Item 34: Note which algorithms expect sorted ranges.......Page 165
Item 35: Implement simple case-insensitive string comparisons via mismatch or lexicographical_compare.......Page 169
Item 36: Understand the proper implementation of copy_if.......Page 173
Item 37: Use accumulate or for_each to summarize ranges.......Page 175
Item 38: Design functor classes for pass-by-value.......Page 181
Item 39: Make predicates pure functions.......Page 185
Item 40: Make functor classes adaptable.......Page 188
Item 41: Understand the reasons for ptr_fun, mem_fun, and mem_fun_ref.......Page 192
Item 42: Make sure lessmeans operator<.......Page 196
Item 43: Prefer algorithm calls to hand-written loops.......Page 200
Item 44: Prefer member functions to algorithms with the same names.......Page 209
Item 45: Distinguish among count, find, binary_search, lower_bound, upper_bound, and equal_range.......Page 211
Item 46: Consider function objects instead of functions as algorithm parameters.......Page 220
Item 47: Avoid producing write-only code.......Page 225
Item 48: Always #include the proper headers.......Page 228
Item 49: Learn to decipher STL-related compiler diagnostics.......Page 229
Item 50: Familiarize yourself with STL-related web sites.......Page 236
Bibliography......Page 244
Appendix A: Locales and Case-Insensitive String Comparisons......Page 248
Appendix B: Remarks on Microsoft’s STL Platforms......Page 258
A......Page 264
B......Page 265
C......Page 266
D......Page 267
E......Page 268
F......Page 270
I......Page 271
L......Page 272
M......Page 273
P......Page 274
R......Page 275
S......Page 276
U......Page 278
Z......Page 279