Exceptional C++
47 Engineering Puzzles, Programming Problems, and Solutions
Samenvatting
Exceptional C++ shows by example how to go about sound software engineering in standard C++. Do you enjoy solving thorny C++ problems and puzzles? Do you relish writing robust and extensible code? Then take a few minutes and challenge yourself with some tough C++ design and programming problems.
The puzzles and problems in Exceptional C++ not only entertain, they will help you hone your skills to become the sharpest C++ programmer you can be. Many of these problems are culled from the famous Guru of the Week feature of the Internet newsgroup comp.lang.c++.moderated, expanded and updated to conform to the official ISO/ANSI C++ Standard.
Each problem is rated according to difficulty and is designed to illustrate subtle programming mistakes or design considerations. After you've had a chance to attempt a solution yourself, the book then dissects the code, illustrates what went wrong, and shows how the problem can be fixed.
Covering a broad range of C++ topics, the problems and solutions address critical issues such as:
- Generic programming and how to write reusable templates
- Exception safety issues and techniques
- Robust class design and inheritance
- Compiler firewalls and the Pimpl Idiom
- Name lookup, namespaces, and the Interface Principle
- Memory management issues and techniques
- Traps, pitfalls, and anti-idioms
- Optimization
Try your skills against the C++ masters and come away with the insight and experience to create more efficient, effective, robust, and portable C++ code.
Specificaties
Inhoudsopgave
Item 1: Iterators.
Item 2: Case-Insensitive Strings-Part 1.
Item 3: Case-Insensitive Strings-Part 2.
Item 4: Maximally Reusable Generic Containers-Part 1.
Item 5: Maximally Reusable Generic Containers-Part 2.
Item 6: Temporary Objects.
Item 7: Using the Standard Library (or, Temporaries Revisited).
EXCEPTION-SAFETY ISSUES AND TECHNIQUES.
Item 8: Writing Exception-Safe Code-Part 1.
Item 9: Writing Exception-Safe Code-Part 2.
Item 10: Writing Exception-Safe Code-Part 3.
Item 11: Writing Exception-Safe Code-Part 4.
Item 12: Writing Exception-Safe Code-Part 5.
Item 13: Writing Exception-Safe Code-Part 6.
Item 14: Writing Exception-Safe Code-Part 7.
Item 15: Writing Exception-Safe Code-Part 8.
Item 16: Writing Exception-Safe Code-Part 9.
Item 17: Writing Exception-Safe Code-Part 10.
Item 18: Code Complexity-Part 1.
Item 19: Code Complexity-Part 2.
CLASS DESIGN AND INHERITANCE.
Item 20: Class Mechanics.
Item 21: Overriding Virtual Functions.
Item 22: Class Relationships-Part 1.
Item 23: Class Relationships-Part 2.
Item 24: Uses and Abuses of Inheritance.
Item 25: Object-Oriented Programming.
COMPILER FIREWALLS AND THE PIMPL IDIOM.
Item 26: Minimizing Compile-time Dependencies-Part 1.
Item 27: Minimizing Compile-time Dependencies-Part 2.
Item 28: Minimizing Compile-time Dependencies-Part 3.
Item 29: Compilation Firewalls.
Item 30: The "Fast Pimpl" Idiom.
NAME LOOKUP, NAMESPACES, AND THE INTERFACE PRINCIPLE.
Item 31: Name Lookup and the Interface Principle-Part 1.
Item 32: Name Lookup and the Interface Principle-Part 2.
Item 33: Name Lookup and the Interface Principle-Part 3.
Item 34: Name Lookup and the Interface Principle-
Part 4. MEMORY MANAGEMENT.
Item 35: Memory Management-Part 1.
Item 36: Memory Management-Part 2.
Item 37: auto_ptr. TRAPS, PITFALLS, AND ANIT-IDIOMS.
Item 38: Object Identity.
Item 39: Automatic Conversions.
Item 40: Object Lifetimes-Part 1.
Item 41: Object Lifetimes-Part 2.
MISCELLANEOUS TOPICS.
Item 42: Variable Initialization-Or Is It?
Item 43: Const-Correctness.
Item 44: Casts.
Item 45: bool.
Item 46: Forwarding Functions.
Item 47: Control Flow.
Afterword.
Bibliography.
Index
Anderen die dit boek kochten, kochten ook
Net verschenen
Rubrieken
- aanbestedingsrecht
- aansprakelijkheids- en verzekeringsrecht
- accountancy
- algemeen juridisch
- arbeidsrecht
- bank- en effectenrecht
- bestuursrecht
- bouwrecht
- burgerlijk recht en procesrecht
- europees-internationaal recht
- fiscaal recht
- gezondheidsrecht
- insolventierecht
- intellectuele eigendom en ict-recht
- management
- mens en maatschappij
- milieu- en omgevingsrecht
- notarieel recht
- ondernemingsrecht
- pensioenrecht
- personen- en familierecht
- sociale zekerheidsrecht
- staatsrecht
- strafrecht en criminologie
- vastgoed- en huurrecht
- vreemdelingenrecht