Always Learning

Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions
Herb Sutter

ISBN-10: 0201615622
ISBN-13:  9780201615623

Publisher:  Addison-Wesley Professional
Copyright:  2000
Format:  Paper; 240 pp
Published:  11/18/1999
Status: Instock


Customers outside the U.S., click here.


Print this content

In this section:


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.

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. 0201615622T04062001



Back to top

Print this content

In this section:


Author Bios

Herb Sutter is the author of three highly acclaimed books, Exceptional C++ Style, Exceptional C++, and More Exceptional C++ (Addison-Wesley). He chairs the ISO C++ standards committee, and is contributing editor and columnist for C/C++ Users Journal. As a software architect for Microsoft, Sutter leads the design of C++ language extensions for .NET programming.




Backcover Copy

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.



0201615622B04062001

Back to top

Print this content

This product is a member of the following series. Click on the series name to see the full list of products in the series.

Back to top

Log in to the Instructor Resource Center

Login name: 

  Password: 

Forgot login/password?  |  Need to redeem an access code?

        

Instructor Resource Center File Download

This work is protected by local and international copyright laws and is provided solely for the use of instructors in teaching their courses and assessing student learning. Dissemination or sale of any part of this work (including on the World Wide Web) will destroy the integrity of the work and is not permitted. The work and materials from this site should never be made available to students except by instructors using the accompanying text in their classes. All recipients of this work are expected to abide by these restrictions and to honor the intended pedagogical purposes and the needs of other instructors who rely on these materials.

Cancel     I accept, proceed with download

Print this content

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.

Back to top