this. in c++

Ora ho capito, si deve usare this->metodo quando si stanno scrivendo gli oggetti.

NO!
devi usare -> quando hai a che fare con un puntatore (a classe o a struttura)
devi usare . quando hai a che fare con l'istanza.

this è un puntatore.

Per me usare l'istanza della classe, anche se funziona, e' da evitare

La tua stessa idea è quella cha hanno usato in molto linguaggi, nascondendo all'utente l'uso dei puntatori, ma "sottobanco" lavorano sempre per riferimento (salvo uso di tipi di dato primitivo come int, long, double etc)