El 'this' es un puntero de la clase que lo genera; en algunos casos de codigo que suelen calificarse de mal hechos se usa el this para diferenciar un miembro de la clase de una variable de un metodo
Código C++:
Ver originalclass Clase {
public:
Clase();
int accion() {
int duplicado = 10;//variable de metodo
this->duplicado = 11;//miembro de clase
}
int accion2(int duplicado) {
this->duplicado = duplicado;
}
private:
int duplicado;
};
Nota: Lo mas comun es que intente evitarse esta situacion.
Aparte de eso hay gente que le gusta diferenciar las variables miembro de la clase de cualquier otra aunque no se requiera desambiguacion. Por lo que he visto mayormente se declaran las variables miembro con un prefijo y se omite el puntero.
En tus dos ejemplos no hay ambiguedad entre las variables miembro de las clases y los nombres de los argumentos del metodo y la funcion. Me parece que en ambos casos se usa el 'this' para diferenciar visualmente y facilitar la interpretacion del codigo.
Aun asi ten en cuenta que en determinados casos es necesario el uso del puntero 'this' (una busqueda rapida en google te mostrará situaciones necesarias en templates y no se donde mas).
Saludos
vosk