Highly recommended (5/5).
Effective Modern C++ follows on in the tradition of the various other Effective C++ volumes by the same author. The style is much the same, down to the use of colour in the code samples. This volume is also arranged into items, 42 of them in this case. Probably the biggest stylistic change is the switch from Addison-Wesley to O’Reilly, which means white-on-pink text and an animal (a rose-crowned fruit dove).
The book covers all of the major changes and additions that came with C++11 and C++14:
type deduction, brace initialisation,
, class enums,
for class methods, smart pointers, rvalue references, lambdas and concurrency. That’s a lot of ground to cover and Meyers does a very good job of explaining it all in just over 300 pages. Not only did I find the explanations clear and easy to follow, but I also enjoyed the explanations of the benefits of using the new features. Meyers also makes it clear that the changes aren’t always that much of a revolution; for instance, in the case of rvalue references he points out that the benefits are likely to limited due to the conservative choices that were made by the C++ committee on specifying when the compiler can automatically generate move constructors and move assignment operators.
I definitely felt upon finishing this book that I understood C+11/14 better.