Зарегистрироваться
Восстановить пароль
FAQ по входу

Meyers Scott. Effective C++ Digital Collection: 140 Ways to Improve Your Programming

  • Файл формата pdf
  • размером 6,43 МБ
  • Добавлен пользователем
  • Описание отредактировано
Meyers Scott. Effective C++ Digital Collection: 140 Ways to Improve Your Programming
Addison-Wesley, 2012. — 934 p. — ISBN 978-0-13-297919-1.
Scott Meyers’s seminal C++ books– Effective C++ , More Effective C++ , and Effective STL –have been immensely helpful to hundreds of thousands of C++ programmers. All three are finally available together in this eBook collection.
Effective C++ has been embraced by hundreds of thousands of programmers worldwide. The reason is clear: Scott Meyers’s practical approach to C++ describes the rules of thumb used by the experts to produce clear, correct, efficient code. The book is organized around 55 specific guidelines, each of which describes a way to write better C++. Each is backed by concrete examples.
In More Effective C++, Meyers presents 35 ways to improve your programs and designs. Drawing on years of experience, Meyers explains how to write software that is more effective: more efficient, more robust, more consistent, more portable, and more reusable. In short, how to write C++ software that’s just plain better.
In Effective STL, Meyers goes beyond describing what’s in the STL to show you how to use it. Each of the book’s 50 guidelines is backed by Meyers’s legendary analysis and incisive examples, so you’ll learn not only what to do, but also when to do it–and why.
Together in this collection, these books include the following important features:
- Expert guidance on the design of effective classes, functions, templates, and inheritance hierarchies.
- Applications of new “TR1” standard library functionality, along with comparisons to existing standard library components.
- Insights into differences between C++ and other languages (e.g., Java, C#, C) that help developers from those languages assimilate “the C++ way” of doing things.
- Proven methods for improving program efficiency, including incisive examinations of the time/space costs of C++ language features
- Comprehensive descriptions of advanced techniques used by C++ experts, including placement new, virtual constructors, smart pointers, reference counting, proxy classes, and double-dispatching
- Examples of the profound impact of exception handling on the structure and behavior of C++ classes and functions
- Practical treatments of new language features, including bool, mutable, explicit, namespaces, member templates, the Standard Template Library, and more. If your compilers don’t yet support these features, Meyers shows you how to get the job done without them.
- 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.
Effective C++: 55 Specific Ways to Improve Your Programs and Designs, Third Edition
Accustoming Yourself to C++
Constructors, Destructors, and Assignment Operators
Resource Management
Designs and Declarations
Implementations
Inheritance and Object-Oriented Design
Templates and Generic Programming
Customizing new and delete
Miscellany
Appendix A. Beyond Effective C++
Appendix B. Item Mappings Between Second and Third Editions
More Effective C++: 35 New Ways to Improve Your Programs and Designs
Distinguish between pointers and references.
Prefer C++-style casts.
Never treat arrays polymorphically.
Avoid gratuitous default constructors.
Be wary of user-defined conversion functions.
Distinguish between prefix and postfix forms of increment and decrement operators.
Never overload &&, ||, or ,
Understand the different meanings of new and delete.
Use destructors to prevent resource leaks.
Prevent resource leaks in constructors.
Prevent exceptions from leaving destructors.
Understand how throwing an exception differs from passing a parameter or calling a virtual function.
Catch exceptions by reference.
Use exception specifications judiciously.
Understand the costs of exception handling.
Remember the 80-20 rule.
Consider using lazy evaluation.
Amortize the cost of expected computations.
Understand the origin of temporary objects.
Facilitate the return value optimization.
Overload to avoid implicit type conversions.
Consider using op= instead of stand-alone op.
Consider alternative libraries.
Understand the costs of virtual functions, multiple inheritance, virtual base classes, and RTTI.
Virtualizing constructors and non-member functions.
Limiting the number of objects of a class.
Requiring or prohibiting heap-based objects.
Smart pointers.
Reference counting.
Proxy classes.
Making functions virtual with respect to more than one object.
Program in the future tense.
Make non-leaf classes abstract.
Understand how to combine C++ and C in the same program.
Familiarize yourself with the language standard.
Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library
Containers
Vector and string
Associative Containers
Iterators
Algorithms
Functors, Functor Classes, Functions, etc
Programming with the STL
Appendix A. Locales and Case-Insensitive String Comparisons
Appendix B. Remarks on Microsoft’s STL Platforms
True PDF
  • Чтобы скачать этот файл зарегистрируйтесь и/или войдите на сайт используя форму сверху.
  • Регистрация