Exceptional C++

47 Engineering Puzzles, Programming Problems, and Exception-Safety Solutions

  • Nombre de pages : 208 pages   drapeau anglais
  • Date de parution : 10/11/1999

Résumé

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.

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

Caractéristiques

  • Type produit : Ouvrage
  • Langue : Anglais
  •  
  • Editeur(s) : Addison Wesley
  • Auteur(s) : Herb Sutter
  •  
  • ISBN13 : 978-0-201-61562-3
  • EAN13 : 9780201615623
  • ISBN10 : 0-201-61562-2
  • Parution : 10/11/1999
  • Edition : 1ère édition
  •  
  • Nb de pages : 208 pages
  • Format : 18,8 x 23,4
  • Poids : 300 g
  •  

mentions légales | conditions générales de vente | copyright © 2012
(1) livraison gratuite à partir de 49 € en France métropolitaine