Product Details
|
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
Tag this product(What's this?)Think of a tag as a keyword or label you consider is strongly related to this product.
Tags will help all customers organize and find favorite items. |
|
Share your thoughts with other customers:
|
||||||||||||||||||||||
|
Most helpful customer reviews
4 of 4 people found the following review helpful
4.0 out of 5 stars
4.5 stars, good book,
This review is from: More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions (Paperback)
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 C++, so the books by Sutter and Meyers fit me perfectly.The main advantage the Exceptional C++ series has over the Meyers series is that you can tell Sutter is the better programmer. You can trust that everything Meyers says is correct but in the end all you really get is some extra pointers on how to do certain things. Sutter on the other hand gets a little deeper on the same topics and makes you feel like can write better C++ code, rather than just being able to format it better. One complaint I had about Effective C++ by Meyers was that most of the book is text and contains very little code. My experience with reading programming books is that around 90% of plain text will not be retained. The only way verbal programming text will ever stick is if there is good code to accompany it. Since Sutter is a programmer first, author second, he provides more code examples and they seem to be more thought out. If you have the time then you should probably read from both authors, however, if you don't want to read 4 books then you should probably read the Exceptional series over the Effective series.
2 of 2 people found the following review helpful
5.0 out of 5 stars
A reality check for those who know C++,
By
This review is from: More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions (Paperback)
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 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.
1 of 1 people found the following review helpful
4.0 out of 5 stars
Interesting C++ book,
By Olivier Langlois "www.OlivierLanglois.net" (Montreal, Quebec Canada) - See all my reviews (REAL NAME)
This review is from: More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions (Paperback)
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. This book has its share of very original content but I feel like the ratio original content vs topics that you can find in other books is lower in this book than with the other books of the serie. The most interesting section in this book in my opinion is the one on exception safety and the less original section is the one on generic programming and STL as you can find much of the information contained in this section in other books such as Effective STL from Scott Meyer or C++ Template from David Vandervoorde and Nicolai M. Josuttis.
Share your thoughts with other customers: Create your own review
Want to see more reviews on this item?
|
Most recent customer reviews |
|