or
Sign in to turn on 1-Click ordering.
 
 
Express Checkout with PayPhrase
What's this? | Create PayPhrase
Sorry!
More Buying Choices
32 used & new from $24.11

Have one to sell? Sell yours here
 
   
More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions
 
 
Tell the Publisher!
I’d like to read this book on Kindle

Don’t have a Kindle? Get your Kindle here.
 
  

More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions (Paperback)

~ (Author)
4.6 out of 5 stars  See all reviews (12 customer reviews)

List Price: $49.99
Price: $29.61 & this item ships for FREE with Super Saver Shipping. Details
You Save: $20.38 (41%)
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
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.

Want it delivered Tuesday, November 10? Choose One-Day Shipping at checkout. Details
17 new from $25.99 15 used from $24.11

Frequently Bought Together

More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions + Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions + Exceptional C++ Style: 40 New Engineering Puzzles, Programming Problems, and Solutions
Price For All Three: $85.99

Show availability and shipping details


Customers Who Bought This Item Also Bought

Exceptional C++ Style: 40 New Engineering Puzzles, Programming Problems, and Solutions

Exceptional C++ Style: 40 New Engineering Puzzles, Programming Problems, and Solutions

by Herb Sutter
4.4 out of 5 stars (11)  $28.19
More Effective C++: 35 New Ways to Improve Your Programs and Designs

More Effective C++: 35 New Ways to Improve Your Programs and Designs

by Scott Meyers
4.4 out of 5 stars (39)  $28.19
C++ Coding Standards: 101 Rules, Guidelines, and Best Practices

C++ Coding Standards: 101 Rules, Guidelines, and Best Practices

by Herb Sutter
4.3 out of 5 stars (27)  $41.04
Modern C++ Design: Generic Programming and Design Patterns Applied

Modern C++ Design: Generic Programming and Design Patterns Applied

by Andrei Alexandrescu
4.4 out of 5 stars (69)  $33.84
Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library

Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library

by Scott Meyers
4.5 out of 5 stars (36)  $41.64
Explore similar items

Editorial Reviews

Amazon.com Review

Aimed at advanced C++ developers who want to hone their programming chops even further, Herb Sutter's More Exceptional C++ borrows the format of his earlier title, Exceptional C++, and delivers some of today's best-available thinking on the language in a handy and effective format. A compilation of the author's own experience and research on the thornier aspects of C++, this book will serve as a worthy resource for making sure you get the most out of this powerful language.

The concise text covers a range of challenging topics in C++ without attempting to be comprehensive. Each "item" is presented as a question to try and solve yourself before the author presents his solution, plus additional detail as needed. For most topics, Sutter ends by giving his advice on the best practices (and gotchas to avoid).

Early sections concentrate on using Standard Template Library (STL) container classes, like removing items effectively, and the subtle differences between container types. Standout sections on designing custom templates (using specialization techniques) and exception-safe classes will help you do more with your own classes. One entertaining problem here shows a number-guessing game (Mastermind) built as efficiently as possible using STL code (including expert-level use of generic functions to do much of the work).

Several problems on copy-on-write (COW) semantics for more efficient classes point out the issues surrounding code optimization. (The author argues against a simplistic approach to optimizing code, including an overreliance on inlining functions. Several times he points out the difficulty of getting COW code to work in multithreaded projects.)

There has been a debate in the C++ community for years about whether it's possible to design truly "exception-safe" classes. Sutter points out the difficulty with a precise analysis of the issues surrounding exceptions and C++ constructors. Material on the finer points of inheriting classes (including when to avoid and when to use multiple inheritance in C++) will extend your class design options. A good section here is the author's explication of how to simulate COM/Java style interfaces in C++, which isn't immediately obvious, even to experienced C++ developers.

Later sections delve into code maintenance issues, including advice for using macros, typedefs, and namespaces. (Advice on migrating existing C++ code into namespaces will help you combine legacy code with other libraries.) A final appendix shows off some benchmarks for optimizing strings using a variety of techniques.

Intelligent, provocative, and demanding, More Exceptional C++ shows why C++ continues to be a rich, complex, and challenging language. Armed with titles like this one, experienced C++ programmers can write better code and avoid pitfalls buried in the outer edges of their favorite language. --Richard Dragan

Topics covered: Puzzles and solutions to advanced topics in C++, using remove() and erase() for Standard Template Library (STL) containers, custom templates with inheritance and traits, using typename, containers used with pointers, the finer points of vector, set, and maps, potential problems with vector < bool >, post and prefix operators used with functions, templates overloading, explicit and partial template specialization (plus function template overloading), using STL to implement Mastermind (a number-guessing game), the finer points of inline functions, lazy optimizations (including copy-on-write--COW--and semantics for strings), iterators and references, gotchas in multithreaded environments, designing exception-safe classes, constructor failures and object lifetimes, uncaught exceptions (the pitfalls of using uncaught_exception()), unmanaged pointers (in parameter evaluation and auto_ptr); copy assignment, inheritance and exception safety issues, multiple inheritance dos and don'ts, the Siamese Twin problem, virtual functions, controlled polymorphism, memory management issues with smart pointers (auto_ptr), recursive declarations, how to simulate nested functions, preprocessor macros, hints for initialization, forward declarations, using typedef effectively, best practices for namespaces (including code maintenance and migrating existing C++ code to namespaces), and appendices on advice for multithreaded optimization.



Product Description

Picks up where the widely acclaimed Exceptional C++ leaves off, providing successful strategies for solving real-world problems in C++. Promotes the practical and pragmatic understanding of the language while showing you how to write exceptional code in C++. Softcover.

Product Details

  • Paperback: 304 pages
  • Publisher: Addison-Wesley Professional (December 27, 2001)
  • Language: English
  • ISBN-10: 020170434X
  • ISBN-13: 978-0201704341
  • Product Dimensions: 9.1 x 7 x 0.9 inches
  • Shipping Weight: 1 pounds (View shipping rates and policies)
  • Average Customer Review: 4.6 out of 5 stars  See all reviews (12 customer reviews)
  • Amazon.com Sales Rank: #39,630 in Books (See Bestsellers in Books)

    Popular in this category: (What's this?)

    #23 in  Books > Computers & Internet > Microsoft > Development > C & C++ Windows Programming

More About the Author

Herb Sutter
Discover books, learn about writers, read author blogs, and more.

Visit Amazon's Herb Sutter Page

Look Inside This Book

Citations (learn more)
1 book cites this book:

What Do Customers Ultimately Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(3)

Your tags: Add your first tag
 

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

12 Reviews
5 star:
 (7)
4 star:
 (5)
3 star:    (0)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.6 out of 5 stars (12 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
18 of 18 people found the following review helpful:
5.0 out of 5 stars A reality check for those who know C++, June 22, 2002
By Charles Ashbacher "(cashbacher@yahoo.com)" (Marion, Iowa United States(cashbacher@yahoo.com)) - See all my reviews
(TOP 50 REVIEWER)      
This book, like the earlier one by Sutter, was a reality check for me. Before I read it, I blissfully believed that I knew C++ really well. After all, I have taught it at the college and corporate level for ten years and programmed commercial code for three. I have also written and published material about the language in several journals. However, these forty exercises really opened my eyes and exercised my brain. They are excellent teaching material, showing you aspects of the language that are subtle, yet critical to know.
One topic that I experienced firsthand is when an exception is thrown out of a constructor. This happened to me many years ago, and I spent hours trying to correct the code so that it finally did something similar to what I wanted. Had I been able to read items 17 and 18 of this book, I could have cut that to about twenty minutes and kept more of my hair.
The problems are all typical of those encountered in the "unusual average" day in the life of a C++ programmer. By that I mean that they may not necessarily reflect the day to day work, but are general enough to most likely crop up on some day for everyone who writes code in C++. The general categories are:

1) Generic programming and the C++ standard library
2) Optimization and Performance
3) Exception safety issues and techniques
4) Inheritance and polymorphism
5) Memory and resource management
6) Free functions and macros
7) Miscellaneous topics

There are many things going on behind the scenes in your C++ programs that most of the time you can ignore. However, when it is a time that you can't, then Sutter is one of the people to consult. His material is always well written and useful in the real world and I recommend this book to all my corporate clients.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
13 of 13 people found the following review helpful:
4.0 out of 5 stars Herb Sutter strikes again !, February 23, 2002
Herb sutter's first book worth it's name : it was exceptional. That's why it was a challenge to write an equally good one as a second book. Of course, Herb put a lot of it's main ideas into his first book (like the "swap guts idiom" for example), but it leaves a big room for side subjects.
Topics in this volume are well classified, maybe better than in the first volume. They adress important subjects for the C++ day to day programmer : standard library, performances, exception safety, resource management, etc... The "engineering puzzles" are in fact much less important than the "solution" described bellow. Because each of the solution is not mid game but a practicle piece of work that leads you to a better C++ quality code.
Honestly, this book is not for beginner. It's much more valuable to read a primer book (stroustrup's C++ programing language, or better the Lipman's C++ primer) and then Meyer's effective C++. At least. You also should have a couple of year of C++ practice behind your belt (also at least). It's a top level C++ book, with top level advices and a top level payback for you.
After reading this volume, I have a stong impression that next Sutter's book will stay with such level of quality. Great work, Herb, thank you !
A last word : Maybe you are surprised I've not given 5 stars to this book ? Well I reserve such notation for strongly exceptional book, like the "design patterns". 4 stars still be very good on my own scale.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
5 of 5 people found the following review helpful:
5.0 out of 5 stars Picks Up Where The First Book Left Off, January 30, 2002
By Philip R. Heath (Hurst, TX United States) - See all my reviews
(TOP 500 REVIEWER)    (REAL NAME)      
More Exceptional C++ is every bit as good as the first offering from Sutter. Like the first, this is an advanced text, and a solid working knowledge of C++ is necessary to get the most out of this book.

For those without experience with Sutter's previous book, this is divided into "Items" grouped together by broad subject area. Unless the the items make up a series such as Items 13-16, they can be read independently and in any order. This layout is helpful to the reader who doesn't have a lot of time to read a book from cover to cover. One can sit down and spend 30 minutes with an item and gain valuable insight into the specific subject matter Sutter deals with.

I enjoy the author's writing style because he tends to be more conversational than lecturing. He interjects humor - albeit it geek humor - from time to time. The presentation makes learning advanced techniques, dare I say, fun rather than dry and cumbersome.

It is also worth noting that being advanced doesn't preclude being practical. Sutter deals with everyday topics such as the STL, exception safety, and inheritance. If you are ready to make the step to advanced C++ programmer, this book will guide you on your way in a practical, enjoyable manner.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews

4.0 out of 5 stars Amazing - Herb Sutter is a Genius
Herb Sutter is a genius. He can boil down C++ to any users level.

You will learn more about C++ than you thought you'd need. Read more
Published 11 months ago by C. Woolworth

4.0 out of 5 stars Interesting C++ book
Mr. Sutter's books biggest strength to my opinion is that they bring together a bunch of original advanced C++ topics that you cannot find anywhere else. Read more
Published on May 29, 2007 by Olivier Langlois

4.0 out of 5 stars For the Advanced Programmer
This appears to be a good book. It was too much for me, but I'm keeping it for when I need it.
Published on April 10, 2007 by D. Eldridge

5.0 out of 5 stars More excellence from Sutter
If you liked its predecessor, you would do well to snap up this one, too. It's more of the same good stuff, in the same format: Sutter poses a question or series of questions,... Read more
Published on February 21, 2007 by Thing with a hook

4.0 out of 5 stars 4.5 stars, good book
I read this book after reading Effective C++ by Scott Meyers. Being able to discuss specific topics rather than viewing a language as a whole was my preferred way of understanding... Read more
Published on May 20, 2003 by An Pham

5.0 out of 5 stars Challenging and entertaining
In this book Herb Sutter continues investigating of the problems that face C++ developers. Even discussions of the problems that one is unlikely to confront reveal important... Read more
Published on October 24, 2002 by uniq

5.0 out of 5 stars Filled with forty all-new working strategies and solutions
Part of the outstanding Addison-Wesley "C++ In-Depth Series", Herb Sutter's More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, And Solutions is the sequel to... Read more
Published on February 9, 2002 by Midwest Book Review

5.0 out of 5 stars Effective C++'s Big Brother
Addison Wesley's "C++ In-Depth Series" is showing an amazing consistency in producing one winner after the other. Read more
Published on February 1, 2002 by microtherion

5.0 out of 5 stars A must have for professional C++ Developers
This book along with the author's previous book are in the must have category for professional C++ Developers. Read more
Published on December 30, 2001 by R. B. Jones

Only search this product's reviews



Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   




Product Information from the Amapedia Community

Beta (What's this?)


Look for Similar Items by Category


Look for Similar Items by Subject

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Your Recent History

 (What's this?)

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.