£30.99
FREE Delivery in the UK.
Only 5 left in stock (more on the way).
Dispatched from and sold by Amazon. Gift-wrap available.
Quantity:1
More+Exceptional+C++%3A+40+... has been added to your Basket
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 3 images

More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions: 40 More Engineering Puzzles, Programming Problems, and Solutions (AW C++ in Depth) Paperback – 17 Dec 2001

5.0 out of 5 stars 5 customer reviews

See all formats and editions Hide other formats and editions
Amazon Price
New from Used from
Paperback
"Please retry"
£30.99
£28.18 £27.97
Note: This item is eligible for click and collect. Details
Pick up your parcel at a time and place that suits you.
  • Choose from over 13,000 locations across the UK
  • Prime members get unlimited deliveries at no additional cost
How to order to an Amazon Pickup Location?
  1. Find your preferred location and add it to your address book
  2. Dispatch to this address when you check out
Learn more
click to open popover

Special Offers and Product Promotions


Frequently Bought Together

  • More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions: 40 More Engineering Puzzles, Programming Problems, and Solutions (AW C++ in Depth)
  • +
  • Exceptional C++
  • +
  • Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
Total price: £86.36
Buy the selected items together

Enter your mobile number below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
Getting the download link through email is temporarily not available. Please check back later.

  • Apple
  • Android
  • Windows Phone

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




Product details

  • Paperback: 304 pages
  • Publisher: Addison Wesley; 01 edition (17 Dec. 2001)
  • Language: English
  • ISBN-10: 020170434X
  • ISBN-13: 978-0201704341
  • Product Dimensions: 18.7 x 1.6 x 23.4 cm
  • Average Customer Review: 5.0 out of 5 stars  See all reviews (5 customer reviews)
  • Amazon Bestsellers Rank: 583,014 in Books (See Top 100 in Books)
  • See Complete Table of Contents

Product Description

Amazon 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 for you to try and solve by 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 gotcha's to avoid).

Early sections concentrate on using Standard Template Library (STL) container classes, such as removing items effectively, and the subtle differences between container types. Standout sections on designing custom templates (using specialisation techniques) and designing 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 optimisation. (The author argues against a simplistic approach to optimising code, including an over-reliance on inlining functions. Several times, he points out the difficulty of getting COW code to work in multi-threaded projects.)

There has been a debate in the C++ community for years on 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 optimising strings using a variety of techniques.

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

From the Back Cover

Organized in a practical problem-and-solution format, More Exceptional C++ picks up where the widely acclaimed Exceptional C++ leaves off, providing successful strategies for solving real-world problems in C++. Drawing from years of in-the-trenches experience, Herb Sutter provides tested techniques and practical solutions for programmers designing modern software systems with C++, from small projects to enterprise applications.

Built around forty programming puzzles, More Exceptional C++ helps you understand the rules and issues critical to successful software design and development in C++. New themes included in this sequel place a strong emphasis on generic programming, memory management, and using the C++ standard library, including coverage of important techniques like traits and predicates. Also included are guidelines and considerations to remember when using standard containers and algorithms--topics rarely covered in-depth in other sources.

Readers will find solutions to such important questions as:
  • What pitfalls might you encounter when using std::map and std::set, and how can you safely avoid them?
  • What kinds of predicates are safe to use with the STL, what kinds aren't, and why?
  • What techniques are available for writing powerful generic template code that can change its own behavior based on the capabilities of the types it's given to work with?
  • When and how should you optimize your code? Why can (and do) fancy optimizations get us into trouble? And how can some of these answers change if you're writing multithread-safe code?
  • Does exception safety affect class design, or can it be retrofitted in as an afterthought?
  • How can you avoid the Siamese Twin problem when combining inheritance-based libraries from different vendors?
  • How can you safely use auto_ptr, and then use common design patterns to adapt it to avoid common pitfalls? Can you use auto_ptr as a class member? What must you know before you elect to use it that way?
  • Plus one of the most frequently recurring questions about modern C++: When and how should you use namespaces, anyway?

A must-have for the serious programmer, More Exceptional C++ provides a thorough and pragmatic understanding of the language while showing you how to write exceptional code in C++.



020170434XB11092001

See all Product Description

Customer Reviews

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

Top Customer Reviews

Format: Paperback
There isn't really much that can be said about Sutter's books that hasn't already been said. If you're serious about C++ or want to be, then you simply have to own his books. The presentation style is always clear and to the point, the subject matter always enlightening. However, they are also books that you simply have to have to hand while working (personally, I can never remember all the details that he covers). I think that I've yet to come across a book in the Addison Wesley C++ In Depth series that doesn't score 5 stars!
Comment 4 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
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, some of which are fairly general and some of which challenge you to spot mistakes in some code, and then uses it as a springboard to outline some best practices. There is more on exceptions, memory management, inheritance and polymorphism. You'll also discover several ways to get a stack trace and how to write a traits class.

There's also slightly more advanced material on smart pointer members and copy-on-write implementations of strings, which is pretty extensive, particularly with regard to its problems with threading.

This is not a reference book or the sort of volume you'd reach for to solve a specific problem. And Sutter's influence in the field means there's not a huge amount of fundamental stuff that hasn't diffused throughout the C++ literature since this book's publication, but reading the Exceptional C++ series is one of those things you just have to do if you want to call yourself a C++ programmer and there are few better ways to learn The C++ Way than quality time spent with More Exceptional C++.
Comment One person 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 follows on from the excellet 'Exceptional C++' and gives a deeper insight into C++ and the standard library. This book is not really possible to fault. It contains valuable information not readily available elsewhere, in a highly accessible format. Compulsory reading for any intermediate or better C++ developer. If you're hesitating about whether to buy this book, buy it.
Comment 3 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
By K1ng on 15 Dec. 2006
Format: Paperback
This is a great C++ book. Challenging and fun for every geek.

One warning though, this is not for the casual C++ programmer, its tough going. Just the way us programmers like it!
Comment One person 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 Verified Purchase
More magic explained by Herb Sutter...
Comment 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


Feedback