Ciao a tutti, ho un dubbio su una porzione di codice: non so se c'è un memory leak oppure no.
ho creato la classe banca, che contiene un array dinamico (con la sua capacità e gli elementi realmente contenuti) di oggetti di classe conto corrente.
tramite l'operatore ++ faccio aggiungere un nuovo conto corrente all'interno dell'array dinamico: se gli elementi contenuti sono uguali alla capcità, rialloco l'array e provvedo ad inserire un nuovo elemento.
il metodo per riallocare è questo:
Banca& Banca::realloc(void)
{
this->capacity *= 2;
Conto *temp = new Conto[capacity];
for (int i = 0; i < size; i++)
temp[i] = conti[i];
conti = temp;
delete[] temp;
temp = NULL;
return *this;
}
il programma funziona senza problemi, ma dato che questa funzione gioca molto con la memoria, non vorrei che funzionasse soltanto per culo e non perché è corretto il codice.
c'è qualche memory leak o qualche altro problema riguardante l'utilizzo inutile di memoria?