• List Price: CDN$ 62.99
  • You Save: CDN$ 8.98 (14%)
Only 4 left in stock (more on the way).
Ships from and sold by Amazon.ca. Gift-wrap available.
Exceptional+C++%3A+47+Engin... has been added to your Cart
+ CDN$ 6.49 shipping
Used: Acceptable | Details
Condition: Used: Acceptable
Comment: Ships from the USA. Please allow 2 to 3 weeks for delivery. Selection as wide as the Mississippi.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions Paperback – Nov 18 1999

4.9 out of 5 stars 30 customer reviews

See all formats and editions Hide other formats and editions
Amazon Price
New from Used from
"Please retry"
CDN$ 54.01
CDN$ 33.36 CDN$ 19.81

Harry Potter and the Cursed Child
click to open popover

Special Offers and Product Promotions

  • You'll save an extra 5% on Books purchased from Amazon.ca, now through July 29th. No code necessary, discount applied at checkout. Here's how (restrictions apply)

Frequently Bought Together

  • Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions
  • +
  • Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition)
  • +
  • Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
Total price: CDN$ 153.03
Buy the selected items together

No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
Getting the download link through email is temporarily not available. Please check back later.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Product Details

  • Paperback: 240 pages
  • Publisher: Addison-Wesley Professional; 1 edition (Nov. 18 1999)
  • Language: English
  • ISBN-10: 0201615622
  • ISBN-13: 978-0201615623
  • Product Dimensions: 18.8 x 1.3 x 23.1 cm
  • Shipping Weight: 440 g
  • Average Customer Review: 4.9 out of 5 stars 30 customer reviews
  • Amazon Bestsellers Rank: #109,210 in Books (See Top 100 in Books)
  •  Would you like to update product info, give feedback on images, or tell us about a lower price?

  • See Complete Table of Contents

Product Description

From Amazon

Aimed at the experienced C++ programmer, Herb Sutter's Exceptional C++ tests the reader's knowledge of advanced C++ language features and idioms with several dozen programming puzzles and explanations. This book can definitely help raise your C++ class design skills to the next level.

Based on the author's Guru of the Week Web column, this book poses a series of challenging questions on the inner workings of C++, centering around generic programming with the Standard Template Library (STL), exception handling, memory management, and class design. Even if you think you know C++ well, most of these problems will teach you something more about the language and how to write more robust classes that are "exception safe" (meaning they don't throw any handled exceptions or leak resources). Don't think this is just "language lawyering," though. The author's explanations stress sound programming principles (favoring simplicity) and idioms (such as the Pimpl idiom for class design that promotes faster compile times and better maintainability, or using "smart" auto_ptrs with STL.) Judging from the range and depth of these examples, Sutter's command of the inner workings of C++ is impressive, and he does an excellent job of conveying this expertise without jargon or a lot of theory.

After reading this book, C++ designers will learn several "best practices" of how to write robust, efficient classes that are "exception safe." Chances are you'll gain a better understanding of memory management techniques and working with STL too. For the experienced developer seeking leading-edge knowledge of some of the best ways to use C++, Exceptional C++ is both a challenging and truly worthwhile source of information. --Richard Dragan

Topics covered: Advanced C++ programming tutorial, generic programming, tips for string classes, containers and STL, temporary objects, exception-safe code tutorial, virtual functions, class inheritance, the Pimpl idiom, namespaces, memory management, C++ memory areas, overloading new and delete, using smart pointer with auto_ptr, using const, casts, and hints for better performance and code maintainability.


"This book is a very valuable book for a wide range of C++ developers. The great thing about the questions and solutions dealing with exceptions is that they present the most important design considerations for creating *any* C++ class." -- Dennis Mancl, Lucent

"This book provides more techniques in solving real life problems in C++. The book is very well written and informative." -- John Kwan, Hewlett-Packard

See all Product Description

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

4.9 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See all 30 customer reviews
Share your thoughts with other customers

Top Customer Reviews

Format: Paperback
This is by far one of the best books on C++ I've ever bought. I am not going to claim that I've read this because this is not a book you 'read' before going to sleep. Even if you consider yourself a C++ guru, you really need to go spend a lot of time on each exercise - if you want to ace them, that's it.
If you aren't a C++ expert but at least can find your way, make sure you have Stroustroup's on your table when you get to this. Try to answer every question on this book with the help of Stroustroup's. You will learn *a lot* from the experience, and have a lot of fun, too. Also, if you run everything you do by your compiler, you will find compiler bugs, which for me is a plus because saves time in the long run.
As for the exercises themselves, all of them, without exception, are worth every penny. Not a single one has an obvious answer (a perfect one - sure you can give some decent if you know C++ well), and from all of them you will learn something valuable.
Finally, a quick list of the topics, since Amazon.com doesn't have one online at this time:
Generic Programming and the C++ Standard Library. Exception-Safety Issues and Techniques. Class Design and Inheritance. Compiler Firewalls and the Pimpl Idiom. Name Lookup, Namespaces and the Interface Principle. Memory Management. Traps, Pitfalls and Anti-Idioms. Miscellaneous Topic.
Each of the topic has 4-7 subtopics, each of them with a few exercises.
Don't miss this book.
2 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse
Format: Paperback
This book is a very valuable addition to any intermediate or advanced C++ programmer's library. The organization is similar to Scott Meyers' very good "Effective C++" books in that they are organized into brief "items" dealing with specific problems that C++ software developers face. The items are helpfully grouped into sections on generic programming and the C++ standard library, exception safety, memory management, etc. Beyond that its hard to compare this book with Meyers' books; they are complementary in many ways. But I think the "Exceptional C++" books have some advantages over Meyers' books: Each of the items begin with a puzzle to solve. This gets the reader more actively involved in the subject matter and brings it into sharper focus (Meyers tends to lose your focus by rambling a bit). Once you've had a chance to think about the presented problem, there is a clear and concise explanation of both the problem and a well considered solution. Each explanation is highlighted by concise "guidelines" and "common mistake" statements. (I wish these were summarized and indexed in one place for quick reference.) The emphasis is on writing clear, simple, reliable code; not on clever solutions to tricky problems. This book is a distillation of discussions that took place in the "Guru of the Week" Internet forum and so is a product of the thinking and experience of many exceptional minds. "Exceptional C++" will help any serious C++ programmer toward better code design. It's well worth the time to read it.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse
Format: Paperback
Are you sure that you know how to write exception safe code? How good are you at the details of writing classes? How well do you know C++ memory management?
You will find many interesting, if not surprising, answers to these and other questions in "Exceptional C++" even if you have years of C++ experience. If not, maybe you should consider writing your own book.
The book is thorough and fresh. Some solutions are not an easy read (although the author has succeeded in making the book reasonably entertaining), but digging through them is a very satisfying experience. In the hierarchy of the quality C++ reading, this book will find its place next to Sroustrup's "The C++ Programming Language" and Scott Meyers' books.
The book is NOT for a C++ novice, but rather for a mature developer who strives to excel in C++ design and coding styles. It focuses on the complexities and subtleties of using template libraries, C++ language itself, and the elements of good design.
The book is written in the problem-solution style to illustrate many of not so obvious questions. As the author dives deeper in each solution, he delivers along the way very concise and useful programming tips.
This book is an excellent and very satisfying read!
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse
By A Customer on April 17 2002
Format: Paperback
Read the title of the book, put a strong accent on "Puzzles" and then ask yourself, whether you like small sparkling pieces of knowledge put in the form of Q and A.
I do, that's why I loved this book. It's pure C++ puzzle set, there are NO "Programming Problems" as such (like in "how do we store a tree in memory more efficiently").
Don't take me wrong though, I don't mean puzzle = useless time wasting thing that you do while resting. It's more of a phylosophical puzzles, like "Why is a sky ?" that make you actually think.
The book is dedicated to C++ semantics. Granted, C++ is on the complex side of the language scale, so there is a lot of non-obvious questions you can spend a week scratching your head over. Thanks to Mr. Sutter who has already done all the scratching :) and put the detailed answers after each question.
The book is organized is a Q with a code fragment, and A with a bit of text, subfragments of the code explained and "don't drink while you drive" sort of guidelines scattered all around. The code fragments are well trimmed out, so that the average Q code is about half a page. Excellent characteristics to me.
"Exceptional C++" closely comes to Mr. Meyers' famous set of books, and I can't even say which are better, they are just different. It's Meyers' books that show you the problems, while Sutter's do puzzles.
The problem with this book is that it's too short and the only thing you can wish for when you finish it is "More exceptional C++" :)
Highly recommended, and yes, you have to know quite a bit of C++ before you start.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse

Most recent customer reviews