[MontelLUG] Il problema del distruttore misterioso
Davide Rondini
davide.rondini a gmail.com
Mer 12 Set 2007 12:04:49 CEST
Il 12/09/07, Alessandro Galli<alessandro.galli a gmail.com> ha scritto:
> Alle mercoledì 12 settembre 2007, Davide Rondini ha scritto:
> > Ciao,
> >
> > Si tratta di un problema di allocazione della memoria in C++ che mi
> > lascia perplesso, perché pare comportarsi contro quanto è la teoria
> > del C++.
> >
> > Si tratta di una classe di questo tipo:
> >
> > class Sample {
> >
> > public:
> > Sample();
> > virtual ~Sample();
> >
> Perchè virtual?
Beh, di default i distruttori sono virtuali. E' prassi del mio collega
indicarlo nel codice, ma nel caso specifico non ha alcuna importanza,
perché la classe non deriva da niente e non ha figli.
In ogni caso ho provato anche a toglierlo, ma senza risultato. Con il
debugger sono riuscito ad arrivare alla conclusione che potrebbe non
essere un errore nel distruttore, ma in un accesso da qualche parte ai
dati allocati, perché mi sono accorto che in effetti soltanto i primi
elementi del vettore risultano corrotti, mentre io pensavo che si
trattasse di un puntatore deallocato. Tuttavia una situazione del
genere l'avevo avuta anche in un altro caso, e il dubbio mi rimane.
Ciao
CD
More information about the montellug
mailing list