Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14 1st Edition

56 customer reviews
ISBN-13: 978-1491903995
ISBN-10: 1491903996
Why is ISBN important?
ISBN
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Sell yours for a Gift Card
We'll buy it for $5.59
Learn More
Trade in now
Have one to sell? Sell on Amazon
Buy used
$32.62
Buy new
$39.36
Rent from Amazon Price New from Used from
Kindle
"Please retry"
$10.61
Paperback, December 5, 2014
"Please retry"
$39.36
$32.64 $32.62
More Buying Choices
32 New from $32.64 10 Used from $32.62
Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student


InterDesign Brand Store Awareness Rent Textbooks
$39.36 FREE Shipping. In Stock. Ships from and sold by Amazon.com. Gift-wrap available.

Frequently Bought Together

Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14 + The C++ Programming Language, 4th Edition + Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition)
Price for all three: $120.41

Buy the selected items together

Editorial Reviews

About the Author

For more than 20 years, Scott Meyers’ Effective C++ books (Effective C++, More Effective C++, and Effective STL) have set the bar for C++ programming guidance. His clear, engaging explanations of complex technical material have earned him a worldwide following, and they keep him in demand as a trainer, consultant, and conference presenter. Winner of the 2009 Dr. Dobb’s Excellence in Programming Award, he has a Ph.D. in Computer Science from Brown University. His web site is aristeia.com.

NO_CONTENT_IN_FEATURE

Best Books of the Month
Best Books of the Month
Want to know our Editors' picks for the best books of the month? Browse Best Books of the Month, featuring our favorite new books in more than a dozen categories.

Product Details

  • Paperback: 336 pages
  • Publisher: O'Reilly Media; 1 edition (December 5, 2014)
  • Language: English
  • ISBN-10: 1491903996
  • ISBN-13: 978-1491903995
  • Product Dimensions: 9.3 x 7 x 0.5 inches
  • Shipping Weight: 1.2 pounds (View shipping rates and policies)
  • Average Customer Review: 4.9 out of 5 stars  See all reviews (56 customer reviews)
  • Amazon Best Sellers Rank: #7,130 in Books (See Top 100 in Books)

From the Publisher

From the Introduction

If you’re an experienced C++ programmer and are anything like me, you initially approached C++11 thinking, “Yes, yes, I get it. It’s C++, only more so.” But as you learned more, you were surprised by the scope of the changes. auto declarations, range-based for loops, lambda expressions, and rvalue references change the face of C++, to say nothing of the new concurrency features. And then there are the idiomatic changes. 0 and typedefs are out, nullptr and alias declarations are in. Enums should now be scoped. Smart pointers are now preferable to built-in ones. Moving objects is normally better than copying them.

There’s a lot to learn about C++11, not to mention C++14.

More importantly, there’s a lot to learn about making effective use of the new capabilities. If you need basic information about “modern” C++ features, resources abound, but if you’re looking for guidance on how to employ the features to create software that’s correct, efficient, maintainable, and portable, the search is more challenging. That’s where this book comes in. It’s devoted not to describing the features of C++11 and C++14, but instead to their effective application.

The information in the book is broken into guidelines called Items. Want to understand the various forms of type deduction? Or know when (and when not) to use auto declarations? Are you interested in why const member functions should be thread safe, how to implement the Pimpl Idiom using std::unique_ptr, why you should avoid default capture modes in lambda expressions, or the differences between std::atomic and volatile? The answers are all here. Furthermore, they’re platform-independent, Standards-conformant answers. This is a book about portable C++.

The Items in this book are guidelines, not rules, because guidelines have exceptions. The most important part of each Item is not the advice it offers, but the rationale behind the advice. Once you’ve read that, you’ll be in a position to determine whether the circumstances of your project justify a violation of the Item’s guidance. The true goal of this book isn’t to tell you what to do or what to avoid doing, but to convey a deeper understanding of how things work in C++11 and C++14.


More About the Author

For more than 20 years, Scott Meyers' Effective C++ books (Effective C++, Effective Modern C++, Effective STL, and More Effective C++) have set the bar for C++ programming guidance. His clear, engaging explanations of complex technical material have earned him a worldwide following, keeping him in demand as a trainer, consultant, and conference presenter. He has a Ph.D. in Computer Science from Brown University.

Customer Reviews

Most Helpful Customer Reviews

29 of 30 people found the following review helpful By Hideaki K. on December 18, 2014
Format: Paperback Verified Purchase
This book consists of a number of practical recommendations to make use of elegant C++ features that many C++ programmers, like me, have only vague understanding and sometimes prefer sticking to the old fashion. The book also gives readers detailed descriptions of _why_ the C++ committee has added the feature into C++11/14, _how_ it works internally, and the benefits programmers receive in an enjoyable writing style with lots of examples. Unlike the dry cold C++ standard which is not readable for most human being, this book is a perfect guide to master modern C++ and to be a better C++ programmer.

I should elaborate one thing for people who consider purchasing this book. This book does NOT immediately give you a solution to the piece of code you are developing, the bug you are fighting, or the homework you have to turn in this week. That's not what this book is about. Instead, this book helps you cultivate your internals as a C++ programmer to write more correct, compact, and maintainable code, which you would appreciate over time, not today.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
16 of 17 people found the following review helpful By Francisco R. O. on February 15, 2015
Format: Paperback Verified Purchase
It is true that Scott Meyers's book are of great quality. However, as someone that owns many of his books, I can say that his writing keeps getting better and his way of explaining concepts much more accessible. This is a trait, as a writer myself, I will like to to attained. The book looks at very important topics for C++11 and C++14. Therefore, this is not a rewrite of his previous book (and those book should be in your library as well). First, I have to say that he mentions that he didn't want to write about type deduction. Well, I didn't want to read it either. However, the fact he placed it in the first part of the book, it has forced me to do so too. This is because I wanted to avoid the elephant in the room, which is the type deduction and continue with the rest. I'm very glad he did write about type deduction in C++11/C++14. My favorite item: Item 35: Prefer task-based programming to thread-programming. Excellent items about lambdas, threads, rvalues, and many others. It is a great book to have if you code in C++. The books that I always keep close right now for C++ are: C++ Primer by Lippman (5th edition), The C++ Standard Library: A Tutorial and Reference (2nd edition) by Josuttis, and Effective Modern C++. I also keep close the API Design for C++ by Reddy.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
15 of 17 people found the following review helpful By C. Burdick on January 3, 2015
Format: Paperback
You might think you're reading a book about a completely new language after reading this, even if you're a fairly experienced C++ programmer. You would also be somewhat correct. The new C++11 and C++14 standards have such significant changes since C++98 that it would be impossible to know how to use the new features without a book like this. Syntactically the languages are very different, there are many new areas to optimize your code, and the whole topic of universal references has so many intricacies that you truly need a book like this to understand them correctly.

If you've read Scott Meyers' older books, you'll appreciate the exact same writing style, detailed coverage, and explanations of things you won't find anywhere else in a single source. Despite the small size of this book, there is so much information packed into it that you'll likely need to read through it several times. But that's not a bad thing, since all modern compilers support these new standards and you'll begin to see new code popping up that will look unfamiliar without this book. I highly recommend anyone who uses C++ professionally pick up a copy of this book. It should be mandatory for anyone using the language.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
15 of 17 people found the following review helpful By Bill H on December 9, 2014
Format: Paperback Verified Purchase
Written with clarity and wit -- what could be better. Much different style than most such technical books, and a style I find conducive to my quick assimilation of the concepts. I have only read 5 or 6 "items" so far, but really helpful in showing how I can much improve much of my C++ code. Not an extensive reference book, so look elsewhere for that.
2 Comments Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
9 of 10 people found the following review helpful By E. Lau on January 7, 2015
Format: Paperback Verified Purchase
Once again, Scott Meyer's book qualifies as a top-tier C++ book. With the nature of C++'s evolution, it's difficult to keep up with all the latest features and best practices. Effective Modern C++ manages to cover most of the important aspects to the (practically new) language while still keeping the content interesting and easy to read. This certainly isn't a replacement for Stroustrup's 4th edition book for C++11, but it follows the Pareto rule spot on and can ramp up any intermediate level C++ developer in no time.

If you're brand new to C++, I would recommend reading either Meyer's older Effective C++, C++ Primer, or Stroustrup's novice book (Programming and Principles Using C++) to get the most out of this book. While this book is probably my favorite of all C++11 books, its targeted audience appears to be towards developers that have at least worked with C++98 before and have strong understanding of the basics.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
6 of 6 people found the following review helpful By gilgamash on February 3, 2015
Format: Paperback
Finally there is a well written book and concise coverage of C++11 and C++14 changes and how one should use them. I just want to point out two things I like most, which have not yet been covered by other reviewers.
1) The first chapter about type deduction (and fallbacks/ fallthroughs) is what I have been waiting for long since. Everyone should read this and now how things work, using auto or not, using templates or not and using references of all kinds, pointers, ordinary types and all their deduction rules.
2) Examples are often comparative to old style C++, which is fantastic.

Some things I like to see in a future edition:
A short overview over the algorithm header, the new random number libraries, functions bindings etc.

This book is a must read for every C++ coder and I think for every Java or C# coder, too, as one can learn a lot from comparing dialects and programming laguages.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews

Set up an Amazon Giveaway

Amazon Giveaway allows you to run promotional giveaways in order to create buzz, reward your audience, and attract new followers and customers. Learn more
Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
This item: Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
Price: $39.36
Ships from and sold by Amazon.com

Want to discover more products? Check out these pages to see more: programming, c programming, software development, technology, software testing