Salve a tutti,
vorrei fare una piccola domanda. Come calcolo la dimensione in byte di un oggetto?
Basta fare la seguente istruzione SIZEOF(Nome_Oggetto) o no?
Salve a tutti,
vorrei fare una piccola domanda. Come calcolo la dimensione in byte di un oggetto?
Basta fare la seguente istruzione SIZEOF(Nome_Oggetto) o no?
Si puo' fare , restituisce la memoria occupata da un istanziamento della classe.
Pero' stati attento , se nella classe ci sono attributi di tipo puntatore ,es: un int *num , lui ti sommera' la dimensione del puntatore. Se poi a runtime fai num = new int[10] , non verranno sommati nel SIZEOF.
Il SIZEOF e' attuato a "compileTime" , quindi totalmente statico.
Se hai attributi di dimensione non fissata a compile-time , al max ti farai un metodo :
int getMemoryDim()
return SIZEOF(this) + (il conteggio degli oggetti allocati dinamicamente).