Actualmente estoy actualizando mis habilidades en C++ y me preguntaba si es posible asignar algo al *this
. Sé que asignar a this
está prohibido, pero no puedo encontrar la misma información para mi caso.¿Está permitido asignar a un desreferenciado esto (* esto)?
Un ejemplo:
class Foo {
int x;
public:
Foo(int x) : x(x) {}
Foo incr() { return Foo(x+1); }
void incr_() { (*this) = incr(); }
};
Editar: corregido incr()
's tipo de retorno de void
a Foo
.
Esto hubiera sido más apropiado como comentario que como respuesta, IMO. –
@Etienne: Déjame completar mi respuesta primero. ':)' –
Tienes toda la razón, pero simplemente cometí un error allí. Quise decir que la función era 'Foo incr()'. – Kolja