Exceptional C++
47 Engineering Puzzles, Programming Problems, and Exception-Safety Solutions
Résumé
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.
Table of contents
Generic Programming and the C++ Standard
Library
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
1
Memory Management
Item 35: Memory Management-Part 1
Item 36: Memory Management-Part 2
Item 37: auto_ptr
Traps, Pitfalls, and Anti-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
L'auteur - Herb Sutter
Herb Sutter est un expert reconnu du langage C++ qui donne régulièrement des conférences internationales sur ce langage. Auteur de trois livres plébiscités (Addison-Wesley), il est secrétaire du Comité de normalisation ANSI/ISO du langage C++. Il tient une chronique dans la revue C/C++ Users Journal. En tant qu'architecte logiciel chez Microsoft, il dirige la conception des extensions du langage C++ pour la plate-forme .NET.
Autres livres de Herb Sutter
Caractéristiques techniques
PAPIER | |
Éditeur(s) | Addison Wesley |
Auteur(s) | Herb Sutter |
Parution | 10/11/1999 |
Nb. de pages | 208 |
Format | 18,8 x 23,4 |
Poids | 300g |
EAN13 | 9780201615623 |
ISBN13 | 978-0-201-61562-3 |
Avantages Eyrolles.com
Nos clients ont également acheté
Consultez aussi
- Les meilleures ventes en Graphisme & Photo
- Les meilleures ventes en Informatique
- Les meilleures ventes en Construction
- Les meilleures ventes en Entreprise & Droit
- Les meilleures ventes en Sciences
- Les meilleures ventes en Littérature
- Les meilleures ventes en Arts & Loisirs
- Les meilleures ventes en Vie pratique
- Les meilleures ventes en Voyage et Tourisme
- Les meilleures ventes en BD et Jeunesse
- Informatique Développement d'applications Technologies objet
- Informatique Développement d'applications Programmation graphique et multimédia Programmation graphique en C/C++
- Informatique Développement d'applications Langages C++
- Informatique Développement d'applications Outils de développement Borland C++ Builder
- Informatique Développement d'applications Outils de développement Visual C++
- Informatique Développement d'applications Outils de développement Visual C++ .NET