REVIEW - Effective Modern C++ - 42 Specific Ways to Improve Your Use of C++11 and C++14


Effective Modern C++

42 Specific Ways to Improve Your Use of C++11 and C++14


Scott Meyers


O'Reilly (2014)




Paul Floyd


September 2019



Web page:

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: auto / decltype type deduction, brace initialisation, nullptr , constexpr , class enums, default / override / delete 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.

Book cover image courtesy of Open Library.