Skip to content
Scan a barcode
Scan
Paperback Exceptional C++ Style: 40 New Engineering Puzzles, Programming Problems, and Solutions Book

ISBN: 0201760428

ISBN13: 9780201760422

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

Select Format

Select Condition ThriftBooks Help Icon

Recommended

Format: Paperback

Condition: Like New

$19.49
Save $30.50!
List Price $49.99
Almost Gone, Only 1 Left!

Book Overview

Exceptional C++ Style continues where Exceptional C++ and More Exceptional C++ left off. This book follows in the tradition of the first two: It delivers new material, organized in bite-sized Items and grouped into themed sections. Readers of the first two books will find some familiar section themes, now including new material, such as exception safety, generic programming, and optimization and memory management techniques. The books overlap in...

Customer Reviews

5 ratings

Deserves five stars

This book and exceptional c++ series are the best book series, I have ever read. Its language and presentation of material is exemplary. I learned a lot from this book and suggest to anyone to leverage his/her knowledge.

Yet More Exceptional C++

This book is a great addition to Herb Sutter's previous two "Exceptional" C++ books. It follows a very similar question and answer format that helps the reader think about a problem before being given the answer and so is more effective in helping you learn than are some other books. It gives very clear and concise answers to each problem with guidelines drawn from each lesson highlighted throughout the text that help you remember the main points. The only problem now that I have is, with all three of these books on my shelf, it takes longer to figure out where I read something of on a particular topic. The topical sections of each book overlap (E.g., sections covering exception eafety, memory managment and inheritance appear in all three books.) and they are all written at the same level of difficulty overall. The later books do make plenty of references back to the earlier ones as well as some other very good C++ books but this material would be better organized in one volume rather than three. Perhaps they should have been published as three editions of the same book rather than three separate books. That's the only thing I can think of that would have made them more useful. Even so this book, like the other two, is very good exercise for keeping C++ programming skills sharp. Well done!

Good read for both bit-heads and architects

This is a very interesting read. There is lots of information for bit-twiddlers who like pushing the limits of the language syntax and templates. But there is also lots of high level information which is on the application architecture and good advice level. He is a big proponent of encapsulation over inheritance, which is something that I also advocate having been in a number of deeply and twisty code bases. There are some sections that I found a little too technical, but that is a personal issue. Though it is nice to have my brain stretched now and again. Illustrations are kept to a minimum. The text is somewhat dry, but it's still a solid read. I recommend this book for any advanced C++ programmer. It's well worth your time and money. It's not so clear to me that an intermediate programmer would get much out of it, and I think beginners should stick to something like Bruce Eckel's Thinking in C++.

Excellent for C++ programmers at all levels

This book is not so much about C++ "style" in the usual sense (that is, how to indent or where to put the curly braces) but rather, about sound coding practices that make your code simpler, better, faster, and more maintainable. What you get is a collection of 40 items that each examine a specific topic, outline the potential problems with a particular approach, and then proceed to show you how things can be improved. Most importantly, each item is strong on the rationale: you are not just told how to do it better, but *why* it is is better to do something in a particular way. There is something for everyone in this book, from the obscure and astonishing ("How many consecutive '+' characters can appear in a standards-conforming program?"), to the pragmatic ("When should you use inlining?"), to the advanced ("How generic should you make your templates, and why?"). I've been programming in C++ for 16 years now, and I learned quite a lot from reading this book. Yet, you don't have to be a C++ veteran to appreciate the advice that is provided: novice C++ programmers will find the items just as useful as old hands at C++ programming. The book is well written, in clear and concise style, and never boring. (A number of creative footnotes even produce the occasional laugh.) The material is well organized, presented in groups of topics that relate to each other, and the table of contents and index make it easy to locate a topic for reference. And the bibliography contains things that are actually worth reading, rather than meaningless filler material. I most appreciated Herb's honesty when dealing with various not-so-great aspects of C++. He doesn't shy back from pointing out when things are bad and simply shouldn't be used (such as exception specifications). The items I enjoyed the most are about the design of std::string, which Herb dissects (or should I say "trashes"?) unmercifully. To me, the book is worth buying just for these items alone because they provide splendid insight into what distinguishes good design from bad design, and how methodical and clear thinking is essential to writing good programs. ("Beware the behemoth of the Winnebago class -- it will haunt you onto the fourth generation...") In summary, I think every C++ programmer should read this book. Yes, it's *that* good.

Simply exceptional

Did you know the "snprinf(...)" that we use in our programs is not part of the C++ standard? Did you know that the "export" keyword has little or no benefit to C++ templates and the source code of the implementation still needs to be shipped? Do you know what primary templates are? Did you know that Accessibility checking is the last things a compiler checks for - after checking for overload resolution? Do you make your virtual functions private? Well, you really should. Do you know what Herb Sutter's favorite Starbucks drink is? Do you know what the "const" keyword really buys you? How about inline-ing? If you answered no to even one of these questions, you should read Herb Sutter's Exceptional C++ Style, 40 New Engineering Puzzles, Programming Problems, and Solutions book. I must say that I am not doing justice in reviewing this book, since each item in this 40 item collection should really reviewed independently as each one is very well written, useful and practical. To start, this book is well organized into sections as one would expect such type of organization with book of such type. One differing aspect is with the Case Studies at the end of the book. Mostly around the string class, but nonetheless, they are very informative. The author has taken already-out-there-being-used code and depicts them for their style. Various "guidelines" given by the author in the Case Studies section makes the developer's life a whole lot simpler. One of my favorite guidelines - throughout the book - is the one the author gives about the decision that each developer goes thru when designing a class and wants to make a decision about what to make friend, a member and a non-member of a class: - Always make it a member if it has to be one. - Prefer to make it a member if it needs access to internals - In all other cases, prefer to make it a non-member friend. Simple? Well, it should be. There are plenty of explanation and example for each of the given guidelines. As one reads and understands the given guidelines, they are very easy memorize-able. Three small phrases which we call have used or even know when we write code, but they are all on paper and are made very simple to be carved in one's memory. The author makes a great deal of effort to follow this routine, an engineering approach to solving problems and designing software, throughout the book. This book is like having an engineering notebook with fun-facts and pointers and hints that you always wanted to know and now you do! I should really have gone thru the book in some sort of a chronological order, but I figured that the Case Studies are rather unique in this book and require special attention. Who would have thought that there is so much to the Standard Template Libraries? Did you know that there are functions/methods in the STL that one can not even use with the STL? (Item 4) "...the bottom line is that you can't reliably form pointers to standard library member
Copyright © 2024 Thriftbooks.com Terms of Use | Privacy Policy | Do Not Sell/Share My Personal Information | Cookie Policy | Cookie Preferences | Accessibility Statement
ThriftBooks® and the ThriftBooks® logo are registered trademarks of Thrift Books Global, LLC
GoDaddy Verified and Secured