tags:

views:

243

answers:

2

I recently purchased a load of new C++ books to take my skills to the next level. This list includes the three main Scott Meyers texts {Effective C++, More Effective C++, and Effective STL}. I've been reading all three of them but I did notice early on that 'More Effective C++' hasn't been updated since 1996.

Can any expert C++ programmers advise on any possible practises in that book that are no longer considered good practise according to the currently accepted C++ development methodologies.

Cheers

+6  A: 

Skimming over the table of contents, I don't see anything offensive or wrong; all 35 topics provide solid advice for good C++ development practices.

Meyers does mention auto_ptr, but the chapter on smart pointers (Item 28) discusses smart pointers in much greater depth than just describing how one might use auto_ptr; along with the chapter on reference counting (Item 29), that chapter provides a very good explanation of smart pointers in general, along with an in-depth discussion of several ways in which they may be implemented.

James McNellis
+5  A: 

G'day,

Effective C++, 3rd edition dates from 2005 (sanitised Amazon link) and it is as ever full of excellent advice.

You might also like to have a look at Scott's website which is also full of excellent articles and updates.

On the other hand, if you've got a first edition of Effective C++, it has the excellent item 44 in it. This is titled "Say what you mean: understand what you're saying." and it covers what you should be aware of when declaring and using various aspects in OOD, e.g. what a common base class should stand for, what a pure virtual function implies, etc.

This excellent item didn't make it into later editions unfortunately, probably due to space issues, but everytime I am involved with a new team I get everyone to read that short item.

It gels everyone's mind so that they have a consistent mindset when

  1. declaring classes and inheritance models in their OO designs, and
  2. using classes and design designed by others.

Everyone is then on the same page with no nasty surprises popping up later on due to inconsistent assumptions or inconsistent understandings of what something means.

Edit: While looking to see if there was a copy of this item online I came across this interview with Scott where he discusses this item.

HTH

cheers,

Rob Wells