Vous voulez voir cette page en français ? Cliquez ici.

Sign in to turn on 1-Click ordering.
Amazon Prime Free Trial required. Sign up when you check out. Learn More
More Buying Choices
Have one to sell? Sell yours here
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

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

Herb Sutter
4.9 out of 5 stars  See all reviews (30 customer reviews)
List Price: CDN$ 51.99
Price: CDN$ 32.75 & FREE Shipping. Details
You Save: CDN$ 19.24 (37%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 1 left in stock (more on the way).
Ships from and sold by Amazon.ca. Gift-wrap available.
Want it delivered Tuesday, October 28? Choose One-Day Shipping at checkout.
Join Amazon Student in Canada

Book Description

Nov. 18 1999 0201615622 978-0201615623 1
Preface 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

Frequently Bought Together

Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions + More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions + Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library
Price For All Three: CDN$ 105.18

Customers Who Bought This Item Also Bought

Product Details

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

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Reviews

3 star
2 star
1 star
4.9 out of 5 stars
4.9 out of 5 stars
Most helpful customer reviews
2 of 2 people found the following review helpful
5.0 out of 5 stars A lot of hours of C++ learning. April 6 2002
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.
Was this review helpful to you?
5.0 out of 5 stars An Exceptional C++ Book June 13 2003
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?
5.0 out of 5 stars An excellent addition to my C++ library Aug. 7 2002
By uniq
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?
5.0 out of 5 stars Marvelous book of puzzles April 17 2002
By A Customer
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?
Want to see more reviews on this item?
Most recent customer reviews
4.0 out of 5 stars The sequel is better than this one in my opinion
This book presents advices more or less in the same format than books from the Effective C++ serie. What is similar is that topics are divided in 47 small items of few pages each. Read more
Published on May 9 2007 by Olivier Langlois
5.0 out of 5 stars Excellent book !
Excellent book !
Provides a lot of great example of "tricky"(yet common) C++ code that could stump developers for hours ! Read more
Published on Nov. 2 2003 by Ilyia Kaushansky
5.0 out of 5 stars Fantastic Book From An Expert
This is an excellent advanced text on C++. If you have the Meyers books down cold, this is the next stop in your C++ journey. Read more
Published on Jan. 17 2002 by Philip R. Heath
5.0 out of 5 stars Helps you leap from an intermediate to advanced programmer
If you think differently after reading a book it was worth the money. This book is such.
You should also take a look at "effective/more effective C++" and "C++ effective... Read more
Published on Aug. 29 2001 by A SE
5.0 out of 5 stars Exceptional book!
"Exceptional C++" is a really exceptional book! I was able to finally understand some subtle issues in this language. Read more
Published on April 26 2001 by Dmitry Vostokov
5.0 out of 5 stars Exceptional book!
"Exceptional C++" is a really exceptional book! I was able to finally understand some subtle issues in this language. Read more
Published on April 26 2001 by Dmitry Vostokov
5.0 out of 5 stars Exceptional book!
"Exceptional C++" is a really exceptional book! I was able to finally understand some subtle issues in this language. Read more
Published on April 26 2001 by Dmitry Vostokov
5.0 out of 5 stars Exceptional book!
"Exceptional C++" is a really exceptional book! I was able to finally understand some subtle issues in this language. Read more
Published on April 26 2001 by Dmitry Vostokov
5.0 out of 5 stars Exceptional book!
"Exceptional C++" is a really exceptional book! I was able to finally understand some subtle issues in this language. Read more
Published on April 26 2001 by Dmitry Vostokov
Search Customer Reviews
Only search this product's reviews

Look for similar items by category