text.skipToContent text.skipToNavigation
  1. Home
  2. Computer Science & IT
  3. Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions

Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions, 1st edition

  • Herb Sutter

Published by Addison-Wesley Professional (November 18th 1999) - Copyright © 2000

1st edition

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

ISBN-13: 9780201615623

Includes: Paperback
Free delivery
$54.99

What's included

  • Paperback

    You'll get a bound printed text.

Overview

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

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.

For teachers

All the material you need to teach your courses.

Discover teaching material