Obecnie odświeżam moje umiejętności w C++ i zastanawiałem się, czy można coś przypisać do *this
. Wiem, że przypisywanie do this
jest zabronione, ale nie mogę znaleźć tych samych informacji dla mojej sprawy.Czy można przypisać do dereferencji to (* to)?
Przykład:
class Foo {
int x;
public:
Foo(int x) : x(x) {}
Foo incr() { return Foo(x+1); }
void incr_() { (*this) = incr(); }
};
Edit: Poprawione incr()
„s typ zwracany z void
do Foo
.
Byłoby to bardziej odpowiednie jako komentarz niż jako odpowiedź, IMO. –
@Etienne: Lemme uzupełnij moją odpowiedź w pierwszej kolejności. ':)' –
Masz całkowitą rację, ale po prostu popełniłem błąd. Miałem na myśli funkcję "Foo incr()". – Kolja