
Amazon Prime Free Trial
FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with FREE Delivery" below the Add to Cart button and confirm your Prime free trial.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited FREE Prime delivery
- Streaming of thousands of movies and TV shows with limited ads on Prime Video.
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
Buy new:
-25% $45.00$45.00
Ships from: Amazon Sold by: USAHARMONY
Save with Used - Good
$24.42$24.42
Ships from: Amazon Sold by: Kuleli Books
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Follow the authors
OK
C++ Coding Standards: 101 Rules, Guidelines, and Best Practices 1st Edition
Purchase options and add-ons
Consistent, high-quality coding standards improve software quality, reduce time-to-market, promote teamwork, eliminate time wasted on inconsequential matters, and simplify maintenance. Now, two of the world's most respected C++ experts distill the rich collective experience of the global C++ community into a set of coding standards that every developer and development team can understand and use as a basis for their own coding standards.
The authors cover virtually every facet of C++ programming: design and coding style, functions, operators, class design, inheritance, construction/destruction, copying, assignment, namespaces, modules, templates, genericity, exceptions, STL containers and algorithms, and more. Each standard is described concisely, with practical examples. From type definition to error handling, this book presents C++ best practices, including some that have only recently been identified and standardized-techniques you may not know even if you've used C++ for years. Along the way, you'll find answers to questions like
- What's worth standardizing--and what isn't?
- What are the best ways to code for scalability?
- What are the elements of a rational error handling policy?
- How (and why) do you avoid unnecessary initialization, cyclic, and definitional dependencies?
- When (and how) should you use static and dynamic polymorphism together?
- How do you practice "safe" overriding?
- When should you provide a no-fail swap?
- Why and how should you prevent exceptions from propagating across module boundaries?
- Why shouldn't you write namespace declarations or directives in a header file?
- Why should you use STL vector and string instead of arrays?
- How do you choose the right STL search or sort algorithm?
- What rules should you follow to ensure type-safe code?
Whether you're working alone or with others, C++ Coding Standards will help you write cleaner code--and write it faster, with fewer hassles and less frustration.
- ISBN-109780321113580
- ISBN-13978-0321113580
- Edition1st
- PublisherAddison-Wesley Professional
- Publication dateOctober 25, 2004
- LanguageEnglish
- Dimensions7.2 x 0.6 x 9.1 inches
- Print length240 pages
Frequently bought together

Similar items that may deliver to you quickly
Editorial Reviews
From the Back Cover
Consistent, high-quality coding standards improve software quality, reduce time-to-market, promote teamwork, eliminate time wasted on inconsequential matters, and simplify maintenance. Now, two of the world's most respected C++ experts distill the rich collective experience of the global C++ community into a set of coding standards that every developer and development team can understand and use as a basis for their own coding standards.
The authors cover virtually every facet of C++ programming: design and coding style, functions, operators, class design, inheritance, construction/destruction, copying, assignment, namespaces, modules, templates, genericity, exceptions, STL containers and algorithms, and more. Each standard is described concisely, with practical examples. From type definition to error handling, this book presents C++ best practices, including some that have only recently been identified and standardized-techniques you may not know even if you've used C++ for years. Along the way, you'll find answers to questions like
- What's worth standardizing--and what isn't?
- What are the best ways to code for scalability?
- What are the elements of a rational error handling policy?
- How (and why) do you avoid unnecessary initialization, cyclic, and definitional dependencies?
- When (and how) should you use static and dynamic polymorphism together?
- How do you practice "safe" overriding?
- When should you provide a no-fail swap?
- Why and how should you prevent exceptions from propagating across module boundaries?
- Why shouldn't you write namespace declarations or directives in a header file?
- Why should you use STL vector and string instead of arrays?
- How do you choose the right STL search or sort algorithm?
- What rules should you follow to ensure type-safe code?
Whether you're working alone or with others, C++ Coding Standards will help you write cleaner code--and write it faster, with fewer hassles and less frustration.
About the Author
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.
Andrei Alexandrescu is the author of the award-winning book Modern C++ Design (Addison-Wesley, 2001) and is a columnist for C/C++ Users Journal.
Product details
- ASIN : 0321113586
- Publisher : Addison-Wesley Professional; 1st edition (October 25, 2004)
- Language : English
- Paperback : 240 pages
- ISBN-10 : 9780321113580
- ISBN-13 : 978-0321113580
- Item Weight : 1.06 pounds
- Dimensions : 7.2 x 0.6 x 9.1 inches
- Best Sellers Rank: #609,537 in Books (See Top 100 in Books)
- #138 in C++ Programming Language
- #714 in Software Development (Books)
- #1,570 in Computer Software (Books)
- Customer Reviews:
About the authors

Herb Sutter is a recognized expert on C++ software development and regularly gives invited talks at conferences around the world. Author of more than 130 technical articles, Herb is also secretary of the ISO/ANSI C++ standards committee, contributing editor and columnist for C/C++ Users Journal, and former editor-in-chief of C++ Report. His popular "C++ Guru of the Week" series is published on the primary Internet newsgroup for the C++ language, comp.lang.c++.moderated, which he has moderated since its inception in 1995. Contact him at www.gotw.ca.

Andrei Alexandrescu coined the colloquial term "modern C++", used today to describe a collection of important C++ styles and idioms. His eponymous book on the topic, Modern C++ Design: Generic Programming and Design Patterns Applied (Addison-Wesley, 2001), revolutionized C++ programming and produced a lasting influence not only on subsequent work on C++, but also on other languages and systems. With Herb Sutter, Andrei is also the coauthor of C++ Coding Standards: 101 Rules, Guidelines, and Best Practices (Addison-Wesley, 2004). Through Andrei's varied work on libraries and applications, as well as his research in machine learning and natural language processing, he has garnered a solid reputation in both industrial and academic circles. Since 2006, he has been second-in-command to Walter Bright, the D programming language inventor and initial implementer. Andrei has been the key designer of many important features of D and has authored a large part of D's standard library, positioning him to write an authoritative book on the new language, appropriately entitled, The D Programming Language. Andrei holds a Ph.D. in Computer Science from the University of Washington and a B.Sc. in Electrical Engineering from University "Politehnica" Bucharest. He works as a Research Scientist for Facebook.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonCustomers say
Customers find the book useful, excellent, and a good set of best practices. They also say it's readable, concise, and easy to appreciate the authors' collective expertise.
AI-generated from the text of customer reviews
Customers find the book useful, excellent, and packed with time-tested great advice. They say it's good for tutoring and a fantastic resource for C++ developers of all skill levels.
"...a clean and well focused reasoning on every single rule, good for tutoring and nice nuts of knowledge.A must have." Read more
"...The book's proofreaders are very good but I believe they missed one error on Item 61, page 112, near the bottom: "Do not definite..." I'm assuming..." Read more
"...This book is not that at all, but rather an awesome collection of C++ wisdom that should be useful to anyone using the language...." Read more
"Such a great book to pick up, flip to a random page, and read. I’ve learned so many good practices." Read more
Customers find the book quite readable. They appreciate the authors' collective expertise and common sense. Readers say the book provides clean, well-focused reasoning on every single rule.
"...One of the book's strengths is its conciseness, which makes it easier to read without getting tied up in a lot of details...." Read more
"...101 rules, mostly described in one or 2 pages make it a good reading before fall asleep, a good reminder of best practices that should not be..." Read more
"...My Customers need to read this book.Great to have easy to read practical lessons learned documented all in one place." Read more
"...On the whole, however, the book is quite readable, and the code examples hit the sweet spot of demonstrating the topic of discussion without being..." Read more
-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
101 rules, mostly described in one or 2 pages make it a good reading before fall asleep, a good reminder of best practices that should not be forgotten. In these times, where code reviews are part of our daily activity, being aligned and focused makes the job more easy.
For novice it's for sure a good set of best-practices to be learned. For intermediate-expert it provides a clean and well focused reasoning on every single rule, good for tutoring and nice nuts of knowledge.
A must have.
Item 0: Don't sweat the small stuff. The authors say not to overlegislate naming and bracing standards, but they also say "do be consistent" and don't mix styles. From personal experience, I can say the only way to get a group of programmers to be consistent is by "sweating the small stuff" and having well-defined policies that are strictly enforced.
Item 1: Zero tolerance of warnings. Eliminating Level 4 warnings (in Visual C++) from a complex application (as opposed to a library intended for third-party use) is more trouble than it's worth. The authors' suggestion to decrease code readability (Examples 2 and 3) to get around these warnings is quite a bad idea, in my opinion.
Item 59: I wish somehow there could be a better answer to the C++ namespace issue. Giving many symbols (but not all, like preprocessor macros, classes not in a namespace, etc.) two names (the qualified and the unqualified) based on where that symbol appears seems so wrong and at the very least makes searching and cut-and-pasting more difficult.
The authors clearly prefer use of stl over custom containers (although they have not always followed their own advice), but they don't address many issues related to this, like are teams using stl supposed to use the peculiar stl naming practices across the board in all code, so stl dictates naming and all projects would use naming like some_stl_vector.push_back()? Or would code like m_object.DoSomething() be mixed together with the above statement so there really is no standard? What are programmers to do when the stl containers don't cut it and a custom container is needed? Should they write it in the stl idiom or consistent with their own naming standard?
Many of the examples refer to std::string, and even a few use const char *, in a book like this I would prefer not to see uses of these types that are not localization-friendly, since it is a best practices type of book, after all.
The book's proofreaders are very good but I believe they missed one error on Item 61, page 112, near the bottom: "Do not definite..." I'm assuming should be "Do not define..."
Anyway, I do recommend this book, and I do agree with most of the items, the authors raise many good points to consider when a team is deciding on its own coding standard.
I've learned a lot from this book, and it's a fantastic resource for C++ developers of all skill levels. Highly recommended!
Great to have easy to read practical lessons learned documented all in one place.
The only reason I did not give it 5 stars is that now and then the language is just too clunky. In particular, I had to read "...the name lookup for that operator function might reach out into the name space...Whether it reaches out into N..." a few times before I understood that "reaching out into" is meant to be a synonym for "reach into".
On the whole, however, the book is quite readable, and the code examples hit the sweet spot of demonstrating the topic of discussion without being overly long.
Top reviews from other countries
この本とEffectiveシリーズ、ISOCppのCppCoreGuideline、あとGoogleのC++ Style Guideを読んでその作法に従っていれば、そのうちBjarne Stroustrupが言う「エレガントでシンプルな」コードに近づける気がする。
日本での参考書はただの「文法の羅列」であり、言語の物知りしか生み出さないような構成になっているが、本書のような本を読まなければ良いプログラマーにはなれないのだと読み進めていくうちにますます実感した
Hay que tener en cuenta que no es un manual de programación, sinó que cita y argumenta las reglas esenciales para poder programar correctamente en c++.
Many C++ books are crap, they don't cross what I call "the Hello World gulf" this is the huge gap between examples and whatnot and actual programs and useful stuff.
This book helps the crossing. You should be okay on the Hello World stuff and just starting to write programs that do stuff (by this I mean have an IDE and GUI programs that respond to input, you know actual stuff - Eclipse CDT and WxWidgets FTW!) you'll pick this book up and find some of them are things you already do, or have already picked up without being told they are worthy of report.
The ones you don't know will be explained so well you can see why you'd want to do it that way.
There are other reviews praising this book already and I don't want to re-iterate those again (consider me in chorus with them though) this book is one of the best C++ books out there because it's actually useful in crossing that gulf.
Alec








