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.53  ·  Rating details ·  970 ratings  ·  84 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 book comes in. It des ...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.53  · 
Rating details
 ·  970 ratings  ·  84 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 T
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.
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.
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
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
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.
Aug 05, 2018 rated it it was amazing
Shelves: it, c
Must read for all C++ developers
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.
Mar 25, 2018 rated it it was amazing
Recommends it for: novice and experienced programmers alike
This book is excellent. Perhaps I could stop right here, but this work is actually so good that it deserves a couple of more words, thus let's get over with the obvious first. This book is not for those who got acquainted with C++ just yesterday. The author assumes you have some prior knowledge about the language, and as such, there will be no introductions whatsoever to any of the language features. On the other hand, the author doesn't expect you to know everything there is to C++ either, so a ...more
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
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.
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++
Sergey Ivanov
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 myT
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 c
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
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 subjec
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
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
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.
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.
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.
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.
Yash Patel
Feb 23, 2019 rated it really liked it
Goes over a lot of the new idioms in modern C++ and does a great job distilling RAII/smart pointers and his discussions of rvalue/move semantics. Definitely not the best book for learning C++ initially (Accelerated C++ is much better for that), but nice for fixing up important implementation details.
May 28, 2019 rated it it was ok
There are now ten ways to solve any problem in C++. This book is not as much a prescription, as a cookoff with current technology to reveal what you might end up with. Some what interesting, but destined to age poorly as compilers, the language, and the platforms move forward.
Jason Sun
Sep 12, 2017 rated it it was amazing  ·  review of another edition
Recommend this book for those that have used C++ before, perhaps in school, and wants to learn about what's new in C++11 and C++14. The book served my purpose well - to update my C++ knowledge. I keep this book handy close to my desk for quick reference.
Anubhab Haldar
Jun 08, 2018 rated it it was amazing
Great rules of thumb, and _so many examples_. Great for understanding the different rules and practices of the language once one has a basic grasp of the syntax. Also good for anyone who has coded before and wants to get into C++ keeping in mind sustainable code practices.
Hyun Chang Lee
Nov 26, 2017 rated it it was amazing  ·  review of another edition
Must-read for old C++ programmers like me

It was difficult for me to fully understand C++ 11 concepts without this book. Read this book if you wanna write efficient and safe code for a modern compiler.
« previous 1 3 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • A Tour of C++
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • C++ Concurrency in Action: Practical Multithreading
  • Modern C++ Design: Generic Programming and Design Patterns Applied
  • Game Programming Patterns
  • Head First Design Patterns
  • Introduction to Algorithms
  • Code Complete
  • The C++ Programming Language
  • Designing Data-Intensive Applications
  • The Pragmatic Programmer: From Journeyman to Master
  • Cracking the Coding Interview: 150 Programming Questions and Solutions
  • Refactoring: Improving the Design of Existing Code
  • Clean Architecture
  • Game Engine Black Book, Wolfenstein 3D
  • The C++ Standard Library: A Tutorial and Reference (2nd Edition)
  • Working Effectively with Legacy Code
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
“(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…