| help | account  


Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Exception-Safety Solutions (C++ in Depth)
View Larger Image
Herb Sutter
Addison-Wesley, Paperback, Published November 1999, 240 pages, ISBN 0201615622
List Price: $44.99
Our Price: $34.95
You Save: $10.04 (22% Off)


FREE Shipping on Orders over $40!*
Availability: Out-Of-Stock

Be the First to Write a Review and tell the world about this title!

People who purchase this book frequently purchase:

Books on similar topics, in best-seller order:Books from the same publisher, in best-seller order:

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.

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




Forgot your password?
FAQs
Shipping Options
Returns
Your Orders
Your Account