Tuesday, January 31, 2017

Updated Versions of EC++/3E and EMC++

New printings of Effective C++, Third Edition and Effective Modern C++ have recently been published by Addison-Wesley and O'Reilly, respectively. Both printings include fixes for all the errata that had been reported through December, though a couple of bug reports for EMC++ have since trickled in, sigh. For EC++/3E, the new printing is number 17. For EMC++, it's 10.

If you purchased digital copies of these books from the publisher, you should be able to log in to your account and download the latest versions. (O'Reilly customers should have received a notification to this effect. AW doesn't seem to tell people when new printings are available for download.)

If you purchase print copies of these books, I encourage you to make sure you're getting the latest versions. I have copies of the latest printings, so I know they exist in print form.

I hope you enjoy the latest revisions of these books. They should be the best versions yet.

Scott

18 comments:

Unknown said...

I've seen number "17" and for a second though its "C++17"

Anonymous said...

What is the ISBN of the new edition of EMC ++?

Scott Meyers said...

@Anonymous: The ISBNs for both books are unchanged. We're only talking new printings here, not new editions. To see which printing you have, check the copyright page for the book you're looking at. For EC++/3E, the printing number is at the bottom of the page. For EMC++, it's the last entry under "Revision History for the First Edition".

Scott Meyers said...

My copy of the 10th printing of EMC++ arrived today, so I've revised the post to show that the current printings definitely now exist in print form.

Anonymous said...

>The ISBNs for both books are unchanged. We're only talking new printings here,
>not new editions. To see which printing you have, check the copyright page
>for the book you're looking at. For EC++/3E, the printing number is at the
>bottom of the page. For EMC++, it's the last entry under "Revision History
>for the First Edition".

Ok, I've the 1st ed, but I would like to have even the 2nd edition and donate
my 1st edition to a friend of mine.

But on Amazon is not possible to know if is the reprinted version (2nd)
or the original 1st edition. I don't want to re-buy the 1st, because
I would like to have the "revisited" version. How I can do?

P.S. I'm from Italy.

Scott Meyers said...

@Anonymous: which book are you interested in, Effective C++ or Effective Modern C++?

Anonymous said...

>@Anonymous: which book are you interested in, Effective C++ or Effective Modern C++?

I'm interested in last printing of Effective Modern C++ (C++11/C++14).

Your last book is a masterpiece as usual. Too bad that you have decided abandon the active writing about C++. I'll miss you as a superb author. I have all your books, those of Herb Sutter and the old mythical modern C ++ Design by Alexandrescu. Obviously I have all of Bjarne Stroustrup literature, the books Coplien, Koenig ... etc etc... but your writings were especially enlightening for me. Kudos and many thanks.

Scott Meyers said...

@Anonymous: Thanks for your kind words about my work. I'm glad you've found it helpful.

The best way to ensure you'll get the most recent printing of Effective Modern C++ is to order it direct from O'Reilly. At least in the USA, they use print on demand, meaning they print the book from master files when they get your order. Because the master files are for the most recent printing, any book you order from them should be the most recent version. I assume this is how things work in Europe, too, but I don't know that for a fact.

An alternative is to check bookstores for copies of the book and to look on the copyright page to see which version of the book it is. You want the tenth release, dated 2017-01-13. Because that printing is only about a month old, my guess is that you'll have a hard time finding it in bookstores, but as time goes by, the odds should get better and better.

You might also consider buying the book in digital form from O'Reilly. Then you'll get the latest version of the book for sure, and when new versions come out, you'll be notified to download the newer versions.

Good luck!

Anonymous said...

>Good luck!

Thank you very much for the infos.

Best regards

Anonymous said...

Hi Scott, huge fan and I plan to read all your books. I've just finished Effective C++, and working my way through Herb Sutter's Exceptional C++. Next on my reading list is EMC++ and More Effective C++. However, I'm not sure which order to read them in (or if it even matters?).

For example, I'm glad that I've read C++ Primer 5th ed. before Effective C++, since I can make sense of the fact that auto_ptr is deprecated, and there is now (in C++11) the keyword "final" to prevent inheritance (which the book says there's no java equivalent of "final"). (I was reading from either the 11th or 12th printing I believe...)

Thanks in advance!

Scott Meyers said...

@Anonymous: If you're trying to choose between More Effective C++ and Effective Modern C++, I suggest you go with Effective Modern C++. It covers the features in C++ new to C++11 and C++14 and covers none of the same material in Effective C++, so it should dovetail nicely with what you've already read. More Effective C++ is now more than 20 years old, and while it still has some useful information in it, I can't recommend you put it near the top of your reading list.

Anonymous said...

@Scott Meyers

Hello, Scott, as you said that More Effective C++ is 20 years old. Are you plan to have a new book or new edition combining all 3 of your books (EC, MEC, and EMC)?

Scott Meyers said...

@Anonymous: Having retired from active involvement in C++, I don't plan to update any of my books, sorry. If you're interested in a publication that includes all my Addison-Wesley books, you might consider the Effective C++ Digital Collection. Bear in mind that all the books there discuss C++98, and the collection does not include Effective Modern C++ (because that book was published by O'Reilly, not Addison-Wesley).

Anonymous said...

Hi Scott, this is great news. I am curious if a newcomer to C++ starting by learning C++11 and beyond only needs to read the “Modern” version of your book series. I’ve asked around online a few times and have yet to find an answer. Please advise! And enjoy your retirement, you’ve put in enough time.

Scott Meyers said...

@Anonymous: I wrote Effective Modern C++ (EMC++) to avoid repeating information in Effective C++ (EC++), so there's lots of useful stuff in EC++ that you won't find in EMC++. For example, EC++ devotes an Item to explaining why you should use objects to manage resources, but EMC++ somewhat assumes that you already know that. As such, EC++ is a bit more fundamental. On the other hand, some material in EC++ is out of date.

If you're a relative newcomer to C++ and you started with C++11, I suggest you try EMC++ (but only after you are comfortable with the basics of C++11--my books aren't for complete beginners). If you see a mention of an idea in that book that you're not familiar with, you can search for it online. It's possible that such searches will eventually lead to EC++, but you can cross that bridge when you come to it.

Unknown said...

Where can I find the Effective Modern C ++ book in Spanish?

Scott Meyers said...

@Unknown: I've forwarded your question to O'Reilly (my publisher), and I'll post here with whatever information I get from them. They're out of the office this week, so it will be a few days before I hear anything.

Scott Meyers said...

@Unknown: Today I got word from O'Reilly (publisher of Effective Modern C++) that there is no Spanish translation, nor does there appear to be one in the pipeline. I'm sorry about that.