Cerca nel sito:
ricerca
avanzata

Frasi Celebri...

Nonno, se non la smetti ti sfilo la spina dorsale e ci suono lo zuffolo.

da "Mai Dire Gol" 

Sondaggio:

Con quale presentatrice/showgirl passereste una "notte di fuoco"?

Paola Barale
Patrizia Rossetti
Paola Perego
Licia Col?
Milli Carlucci
Gabriella Golia
Paola Saluzzi

visualizza risultati


 

L'operatore di assegnamento

 

L'assegnamento e` un operatore molto particolare, la sua semantica classica e` quella di modificare il valore dell'oggetto cui e` applicato con quello ricevuto come parametro e restituire poi tale valore al fine di consentire espressioni del tipo


  A = B = C = < Valore >


che e` equivalente a


  A = (B = (C = < Valore >));


Non lo si confonda con il costruttore di copia: il costruttore e` utilizzato per costruire un nuovo oggetto inizializzandolo con il valore di un altro, l'assegnamento viene utilizzato su oggetti gia` costruiti.


  Complex C = B;      // Costruttore di copia
  /* ... */
  C = D;              // Assegnamento


Un'altra particolarita` di questo operatore lo rende simile al costruttore (oltre al fatto che deve essere una funzione membro): se in una classe non ne viene definito uno nella forma X::operator=(X&), il compilatore ne fornisce uno che esegue la copia bit a bit. Lo standard stabilisce che sia il costruttore di copia che l'operatore di assegnamento forniti dal compilatore debbano eseguire non una copia bit a bit, ma una inizializzazione o assegnamento a livello di membri chiamando il costruttore di copia o l'operatore di assegnamento relativi al tipo di quel membro. In ogni caso comunque e necessario definire esplicitamente sia l'operatore di assegnamento che il costruttore di copia ogni qual volta la classe contenga puntatori, onde evitare spiacevoli condivisioni di memoria.
Notate infine che, come per le funzioni, anche per un operatore e` possibile avere piu` versioni overloaded; in particolare una classe puo` dichiarare piu` operatori di assegnamento, ma e` quello di cui sopra che il compilatore fornisce quando manca.

 

successivo
–«  INDICE  »–

 

 

 

 
Powered by paper&pencil (carta&matita ) - Copyright © 2001-2019 Cataldo Sasso