- 出版社: Addison-Wesley Professional; 1 (2001年12月27日)
- 丛书名: C++ in Depth Series
- 平装: 304页
- 语种： 英语
- ISBN: 020170434X
- 条形码: 0785342704341, 9780201704341
- 商品尺寸: 18.7 x 1.6 x 23.4 cm
- 商品重量: 463 g
- ASIN: 020170434X
- 用户评分: 分享我的评价
- 亚马逊热销商品排名: 图书商品里排第2,590,032名 (查看图书商品销售排行榜)
More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions (英语) 平装 – 2001年12月27日
Herb Sutter is the author of three highly acclaimed books, Exceptional C++ Style, Exceptional C++, and More Exceptional C++ (Addison-Wesley). He chairs the ISO C++ standards committee, and is contributing editor and columnist for C/C++ Users Journal. As a software architect for Microsoft, Sutter leads the design of C++ language extensions for .NET programming.
Generic Programming and the C++ Standard Library.
Optimization and Performance.
Exception Safety Issues and Techniques.
Inheritance and Polymorphism.
Memory and Resource Management.
Free Functions and Macros.
Appendix A. Optimizations That Aren't (In a Multithreaded World).
Appendix B. Test Results for Single- versus Multi-Thread-Safe String Implementations.
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.
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.
The author often beats on a problem until it "has ceased to be ... expired and gone ... bereft of life ... rests in peace" (p. 118). In this particular book, most of the time this is a good thing, because in software development almost everything is a tradeoff, and you don't want to open the gates of hell as a side effect of plugging up a little hole.
I have enjoyed reading this book at least as much as its predecessor, "Exceptional C++". Unfortunately on occasion the author spends too much time discussing trivial implications that appear not to be in line with the complexity of other topics. Also, constant restatement of the parts of every problem statement is quite wasteful and distracting, especially considering the amount of space they occupy (sometimes 25% of the solution space!)
I like "More Exceptional C++" even more than the original. It's not clear to me whether this is because the book is better or because the subject matter has become more important to me. The "Exceptional C++" series is shaping up to be a big brother to the "Effective C++" series, covering areas somewhat more advanced than those in the Effective series, such as exceptions, templates, and namespaces.
One aspect of the book I don't particularly care for is the quizzes/points format that, I suspect, is due to the origins of the book in the author's "Guru of the Week" series.
This is a great book and should belong in every advanced C++ programmer's personal library.