¡Esta es una revisión vieja del documento!
Para definir constantes no utilizaremos #define sino const, es preferible el procesador al pre-procesador.
Para los arrays de chars utilizaremos la siguiente notación:
const char * const authorName = "Scott Meyers";
En las clases definiremos las constantes como static.
También preferiremos declarar las macros como funciones inline a hacerlas con los #define.
Es decir, es preferible el cout o el cin al printf o getch.
Remarcar también que incluir iostream es distinto a incluir iostream.h, esta segunda contiene las funciones como globales en vez de estar dentro de los namespaces, llevando a poder provocar algún error de nombres.
El preferible utilizar los new y delete en vez del malloc y el free.
Es importante entender que al hacer un array debe llamarse al delete como delete [].
string *stringPtr2 = new string[100]; delete [] stringPtr2;
Cuando creamos un puntero nulo lo inicializaremos como 0, no como NULL.
Llamaremos a los delete a los punteros miembros de una clase dentro del destructor de esta.