Å·±¦ÓéÀÖ

Jump to ratings and reviews
Rate this book

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

Rate this book
"Exceptional C++," incorporated with the latest standard in C++ programming, 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.

288 pages, Paperback

First published January 1, 1999

15 people are currently reading
486 people want to read

About the author

Herb Sutter

19Ìýbooks29Ìýfollowers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
161 (41%)
4 stars
160 (41%)
3 stars
53 (13%)
2 stars
14 (3%)
1 star
0 (0%)
Displaying 1 - 7 of 7 reviews
Profile Image for ³§¾±³¾Ã³²Ô.
154 reviews
August 3, 2016
It should be 5 stars because of the quality of the content, but unfortunately this book hasn't been updated for modern C++.

Exceptional C++ honours its name and has great pieces of advice. Some parts, like advanced memory management, are quite tricky, and will require me a second read. Others, like the use of the Pimpl idiom, what to add into an interface, name resolution, and how to write exception-safe code are useful from the first time.

Another great book, fully recommended!
124 reviews14 followers
July 9, 2008
This series is really good and brings to light a lot of C++ related issues people need to be aware of.

It also makes you realize, though, how much C++ is your enemy. How you have to fight the language to get stuff done. You may be at a point in your journey where you have become numb to this fact. But then reading this series you think about:

1. The Pimpl idiom, a huge mess of a method to get boxed objects (invisible and automatic in every language of the last 20 years)

2. Slicing, something you have to constantly watch out for in C++ (a complete nonissue in other languages)

3. how basically every component of the C++ standard library except the STL is poorly designed

4. Ridiculous template error messages

5. components of the C++ standard that are almost universally unimplemented and considered stupid (export...)

6. how incredibly primitive is textual inclusion of header files? It's like this is 1965 or something.

7. And C-style macros! Wow.

8. Manual memory management. Oh, wait, now there's shared_ptr! The C++ community has reinvented reference counting garbage collection, only 50 years behind schedule. Oh, and you have to manually write crap for the things you want collected and deal with their interaction with manually collected stuff.

9. The absurd hoops you have to jump through to simulate things like nested functions.

10. Incompatible compilers and library implementations.

And on and on.

Now like I said if you write C++ you are dealing with at least some of these issues all the time, but maybe you have become numb. These books will remind you.

I just don't get it.
Profile Image for Ken.
87 reviews1 follower
August 21, 2017
The first third-to-half is 5-star material, then it starts to fade. The chapter on exceptions highlights the biggest challenges with exceptions (really any form of transaction logic in procedural programming) in a way I haven't seen comprehensively covered before, well worth reading.
Profile Image for Elias Daler.
31 reviews6 followers
November 23, 2017
This book is a bit outdated, but still has some in-depth and obscure information about C++.
It also made me realize why some people hate C++ so much.
Profile Image for Benoit Blanchon.
AuthorÌý2 books7 followers
April 10, 2018
Except for the item covering auto_ptr, this book is still relevant today, 18 years after being published.
Not only the content is valuable, but it's also well written and even funny sometimes.
Profile Image for Waqar Ahmed.
67 reviews14 followers
August 18, 2020
Some things are outdated but it is still quite relevant and thought provoking! A must read for every C++ programmer out there.
Profile Image for Jared.
15 reviews2 followers
April 10, 2011
Not bad, has some good nuggets here and there... However, I felt the Q&A format of the book added absolutely nothing. It's likely just a relic of him copy/pasting the content from his online column.
Displaying 1 - 7 of 7 reviews

Can't find what you're looking for?

Get help and learn more about the design.