const Utente pietro = creaUtente(24, 180);
pietro.altezza = 179; //ERRATO!
Questa operazione è illegale perché la variabile pietro è const, quindi una volta dichiarata ed inizializzata non possiamo modificare i suoi membri.
Tuttavia se un membro della struttura è dichiarato mutable, questo lo rende modificabile anche se l'istanza della struttura è stada dichiarata come const:
struct Utente {Nonostante la variabile pietro sia dichiarata const è possibile modificare il membro età, perché questo è stato dichiarato mutable all'interno della struttura Utente.
mutable int età;
float altezza;
};
const Utente pietro = creaUtente(24, 180);
pietro.età = 23; //LEGALE!
Per ora questo è tutto sulle costanti, anche se esiste un'ultima possibilità di utilizzo della parola const, ma ne parleremo quando tratteremo delle classi nella programmazione ad oggetti.
Nessun commento:
Posta un commento