Operatore di assegnazione

di il
5 risposte

Operatore di assegnazione

Buongiorno, non riesco a capire perché l'operatore di assegnazione restituisca *this. La concatenazione non funzionerebbe lo stesso anche se non ritornasse niente? L'espressione

a = b = c;
è equivalente a

a.operator=(b.operator=(c));
quindi, se l'operatore non ritornasse niente,
a.operator=
si troverebbe comunque come parametro
b
già modificato. Se qualcuno può illuminarmi ne sarei grato, sinceramente non capisco.

5 Risposte

  • Re: Operatore di assegnazione

    Probabilmente sto delirando
    Ma se non ritornasse nulla l'altro assegnamento non si ritroverrebe senza parametro?
  • Re: Operatore di assegnazione

    Non vedo come potrebbe funzionare
  • Re: Operatore di assegnazione

    Dici? Ho dato per scontato che il compilatore capisse che a = b = c equivalente a b = c e poi ad a = b, nel senso che separasse le operazioni.
  • Re: Operatore di assegnazione

    Dentro le tonde si aspetta un parametri se non lo metti da errore
  • Re: Operatore di assegnazione

    Ah ok, grazie. Pensavo che il compilatore fosse un po' più intelligente, invece è banalmente questo.
Devi accedere o registrarti per scrivere nel forum
5 risposte