Goodreads helps you keep track of books you want to read.
Start by marking “Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14” as Want to Read:
Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
Enlarge cover
Rate this book
Clear rating
Open Preview

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

(Effective C++ #4)

4.55  ·  Rating details ·  1,183 ratings  ·  100 reviews
Coming to grips with C++11 and C++14 is more than a matter of familiarizing yourself with the features they introduce (e.g., auto type declarations, move semantics, lambda expressions, and concurrency support). The challenge is learning to use those features effectively--so that your software is correct, efficient, maintainable, and portable. That's where this practical bo ...more
Paperback, 334 pages
Published December 12th 2014 by O'Reilly Media (first published July 1st 2014)
More Details... Edit Details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about Effective Modern C++, please sign up.

Be the first to ask a question about Effective Modern C++

Community Reviews

Showing 1-30
Average rating 4.55  · 
Rating details
 ·  1,183 ratings  ·  100 reviews

More filters
Sort order
Start your review of Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
Tim Thirion
Dec 30, 2014 rated it it was amazing
This is how one should write an advanced language tutorial -- as a walkthrough of new language mechanics mixed with both best practices and potential hang-ups.

I've read through this once, but I know I'll continue to use this as a reference as more systems move toward C++11/14.
Keith Walfson
Nov 15, 2019 rated it it was amazing
It's a good book, a good read. Time well spent, I'm sure i will be using many of the things I learned here in my upcoming projects. ...more
Sahil Singh
Jun 24, 2020 rated it really liked it  ·  review of another edition
This little book is Swiss army knife of C++.
It's small, concise, and very "effective".
One of the tenets of this book is that it doesn't just tell you what you should do without also explaining the underlying mechanics.

Some topics went over my head, and therefore 4 stars instead of 5.

PS: Did you know the animals(animal kingdom) on O'Reilly book covers are all engaged ones?
Feb 04, 2015 rated it it was amazing
Shelves: cplusplus
First of all, if you're involved with C++ in any capacity, you pretty much have to read this book because, to be honest, there isn't much good literature around. Also, ever since the introduction of move semantics, lambdas and other 'advanced' goodies, things got really complicated which means that everyone (and especially people involved with C++ tools or IDEs) now need to know how to deal with the added layers of supposedly necessary complexity. ...more
Sadia Nahreen
Jun 21, 2020 rated it it was amazing
I see this book as a set of resourceful guidelines for using C++ efficiently for the use case of software engineering. The author focuses not only on performance but very often also on coder’s convenience when it matters during making design/coding decisions. However, this book can not replace a C++ primer book that you should read prior to this in order to know what the author is talking about for several chapters. But even without a primer this book will work just fine as long as you have some ...more
Ondrej Sykora
Feb 05, 2015 rated it really liked it
Shelves: programming
I'm on a fence. On one hand, Effective Modern C++ is very well written book. Actually, it is clear that the author spent an enormous amount of time perfecting every aspect of the book, including the coloring of the code examples to make the book as good as it can be.

On the other hand, I'm not sure about the target audience - the book is not a reference (or even a textbook) on C++ 11/14, so this is definitely not a book for someone who doesn't know the languages and it even recommends going to st
Nov 23, 2015 rated it it was amazing
Shelves: computer-science
Man, C++ is ridiculous (fan of straight C and find C++'s craziness hard to swallow at times), but this book is fantastic because it doesn't teach you to program. It shows you what is new in C++ 11. It gives specific action items and patterns to follow when you're coding. Likewise, the book is easy to follow provided that you are familiar with the C++ concepts from previous versions that it uses to explain the new features.

Effective Modern C++ came recommended by a mentor when I asked for recomme
Jan 31, 2015 rated it it was amazing
Recommended for any c++ programmer. Made me really fall in love with the language. I'd almost recommend that a person learn c++ just so they could read this book. ...more
Maksym Bondarenko
Aug 14, 2019 rated it it was amazing
Great book. However, it seems to be for experienced C++ engineers. Every chapter in the book is about some very subtle situation. I feel like I would need to come back to this book later.
Arthur Kipel
Jun 01, 2020 rated it liked it
Almost every chapter of this book has the following structure:
1. Example of how to use some kind of feature, profit of this feature. Everything clear.
2. How not to use this feature, different side effects. Everything becomes not so obvious.
I knew that C++ is rather difficult language which provides possibility to micro-optimize programs, but after reading this book I want to continue using C++ in the most straightforward way, without over-complicated features. Maybe understanding of some C++ co
Aug 05, 2018 rated it it was amazing
Shelves: it, dev, stackoverflow, cpp
Must read for all C++ developers
Sep 20, 2019 rated it it was amazing
I finished this as a part of my work book-club ~5 weeks ago. It's a much more applicable book than the original. The meat is in understanding the implications of r/l-value semantics in all the new constructs. Here is a list of the most important sections from these two books.

* 5 : prefer auto to explicit type declarations
* 7 : distinguish between () and {} when creating objects, prefer {}
* 8 : use nullptr instead of null
* 9 : prefer using myType=othertype to typedef existingTyp
Jul 05, 2015 rated it it was amazing
Shelves: reference, work
A free pre-release edition, that upgraded itself when I was halfway through it.

In short, a survey of the new features available with the newest revisions of C++, along with suggestions on the best ways to use them. Clear and concise, with each item explained so straightforwardly that it is instantly understandable. But with dashes of humor, to give your brain short respites between the avalanches of facts and logic.

I began by reading the book in the proper order, starting with an explanation of
Dec 18, 2016 added it
This is a great book for advanced beginners and intermediate C++ programmers. Very concise, bite-sized recipes. I like that you can go as deep as you'd like to: the chapters start simple and go deep. ...more
May 22, 2015 rated it really liked it
Shelves: professional
Great book! An excellent walk through the new features in C++11 and C++14. The rvalue & lvalue and type inference sections are tricky and will require me to visit them again, but the others (introduction to modern features, auto, lambdas, smart pointers and concurrency) were very good.

I probably liked more his Effective C++: maybe the tone in this one is a bit too annoying, but still a great technical book.
Shayan aminnjad
Oct 03, 2017 rated it it was amazing
A must-read for every C++ programmer! A great book to learn modern C++
Mar 23, 2020 rated it it was amazing
Did a more detailed reading this time and it's very illuminating! ...more
Jan 16, 2017 rated it it was amazing
Shelves: programming-q
TL;DR; - Scott Meyer's books about C++ including this one are the best and absolute MUST read for every C++ developer. READ THEM ALL. POINT.

This book series about C++ by Scott Meyers were recognized by many great and famous C++ programmers, such as John Carmack, and in my opinion is the best material about C++ available. The books explain aspects of the language in a very concise and digestible manner while being a huge fun to read in a relaxed, fiction-like way. The C++ is perhaps the most comp
May 06, 2017 rated it really liked it
Recommends it for: C++ Programmers
The title says one important thing: This is about C++, and only about updates resulting from the standards 11 and 14 specifically.

It does not supersede the other books from the Modern C++ series. Basics covered in other Books (like exception safety, multiple inheritance, new & delete) will be mentioned when the topic require it, but it refers for in-depth discussions to other resources. That also means that this is not a book you read because you want to get a glimpse into C++ as "an outsider" (
Joshua Isaac
As with the other books in this series, this book is aimed at the hardcore C++ professional who is aiming to squeak every last bit of performance from his code.

As a desktop application developer, I use very little of this in practice. There are some good recommendations on using shared pointers, lambdas, auto, and more. There are also very clear explanations of topics like rvalues and lvalues and std::move and std::forward.

However, there are also long and involved chapters on subjects I'm rarel
Dmitriy Shilin
Nov 25, 2018 rated it really liked it
Shelves: hack
Very well-written books that grabs almost all new features of modern and
effective C++11 and C++14.

Only 4 starts because of the chapter about changes in the
thread API (std::thread, std::async, std::atomic and friends). Before
this chapter I was admired how the material was organized and structured. But
in this chapter there are some strange and very high-level introduction for
the thread, story why std::async is better to use then std::thread and etc. I
think that we'll be definitely fine without thi
Nov 08, 2019 rated it it was amazing
Very good book about how to apply some new features of C++ 11/14. However, as the title already mentions: This is not a book to learn C++ in the first place, its goal is to help people who already know C++ to improve their use of the new features. So this book should be the second or third book you read on C++. It should not be your first. (Speaking from first hand experience)

The book is very informative, very useful and practical and written in a great style. I actually found it to be quite fun
Feb 25, 2019 rated it liked it
This is a very good approachable book about the changes that have happened to the C++ language over the last several years, but... it's a book about the changes that have happened to the C++ language over the last 10 years. It's very technical and the nature of the content is dry. The author does a great job making it as interesting as possible, and if you want to develop using the modern features of the C++ programming language, you should read it, but it's still going to be work to read, no ma ...more
Paweł Rusin
Sep 04, 2019 rated it it was amazing
I'm still learning C++ so a lot of this book content went over my head. But it's so interesting to see that "advanced level" may mean different things when it comes to a book on a programming language. For C++ it's all about making the best use of such things as type inference or move semantics, to squeeze every bit of performance from the compiler and the underlying hardware. Not really a book to learn C++, but an amazing resource to expand your mind and a point of reference when fighting with ...more
Brianne Roth
May 28, 2017 rated it really liked it
I read this as part of book club at work where we discussed a few sections at lunch once a week. Great overview of new features in C++11 and C++14. Gets a little too far into the details on a few of the more obscure items. (I'm pretty sure I'm never going to std::forward an auto&& in a lambda, but now I know how!) Would recommend to anyone looking to learn about the new C++ features, best practices and pitfalls. ...more
Gautham Banasandra
Dec 12, 2017 rated it it was amazing
Awesome author, awesome book. I was a C++ novice when I started reading this book, but this book has really promoted me from that level.
The author's style of introducing the concepts is simply amazing. Vital pieces are revealed, at the same time they're expressed in a way that would make perfect sense.
This isn't a book for beginners, it would be the right one for those who can understand the basic constructs of C++.
Feb 01, 2018 rated it really liked it
Shelves: physical
A brilliant guide to some of the new parts of C++11 and C++14. I took a five year break from C++ just after 2011 so discovering this book was just what I needed to get up to speed on lvalues and rvalues. Now I've read it through from beginning to end, I'll be dipping in and out of specific chapters as I apply what I have learnt to my day-to-day software development.

May the virtual const override be with you ... where necessary.
Mikhail V Parakhin
Fantastic book!

I don't often write reviews on books, much less positive ones, but this "Effective Modern C++" is so good - I just have no choice :-) Amazing, hard to put down - it's like I'm talking about the fiction novel! Finally, clear and practical guide to the new features in C++11 and 14. Not a bunch of recipes, but detailed and illuminating discussion on what and how to use and how it actually works. Outstanding.
Mihai-Alin Şendre
Aug 24, 2020 rated it it was amazing
Being a beginner C++ developer myself (coming from a heavy C background), this book helped me recognize a lot of language features that I had no idea C++11/14 has - and even C++98 features too. The way Scott Meyers instruments its explanations via examples is extremely effective and it definitely gripped my attention. Combine it with an internet search engine and you'll learn a lot of cool stuff. Highly recommended for C/C++ developers that want to improve on those low-level programming skills. ...more
Jun 16, 2017 rated it really liked it
- The writing is easy to digest, humorous to read, but you need to have a basic understanding of C++ language first
- This book provides details about caveats when using different C++ idioms (like using auto when declaring variables, using lambda safely), so you will not blindly follow "rules" and fall into traps in the future.
« previous 1 3 4 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • Design Patterns: Elements of Reusable Object-Oriented Software
  • A Tour of C++
  • Designing Data-Intensive Applications
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • Cracking the Coding Interview: 150 Programming Questions and Solutions
  • Introduction to Algorithms
  • C++ Concurrency in Action: Practical Multithreading
  • The C++ Programming Language
  • The Mythical Man-Month: Essays on Software Engineering
  • Head First Design Patterns
  • Modern C++ Design: Generic Programming and Design Patterns Applied
  • Writing An Interpreter In Go
  • Clean Architecture
  • Code Complete
  • The C Programming Language
  • Effective Java
  • C++ Coding Standards: 101 Rules, Guidelines, and Best Practices
  • Fluent Python: Clear, Concise, and Effective Programming
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »

Other books in the series

Effective C++ (4 books)
  • Effective C++: 55 Specific Ways to Improve Your Programs and Designs
  • More Effective C++
  • Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library

Related Articles

For more than a decade, Neil deGrasse Tyson, the world-renowned astrophysicist and host of the popular radio and Emmy-nominated...
87 likes · 16 comments
“(If you’re not at all interested in performance, shouldn’t you be in the Python room down the hall?)” 6 likes
“std::bind(setAlarm,             std::bind(std::plus<>(),                       std::bind(steady_clock::now),                       1h),             _1,             30s);” 0 likes
More quotes…