Ragazzi ho la seguente pila:
codice:
typedef char* tipostringa;//Definisco un tipo char*
struct nodo;
typedef nodo* puntnodo;//Definisco un tipo puntatore a nodo
struct nodo{
tipostringa elem;
puntnodo punt;
};
class pila{
puntnodo testa;
public:
pila():testa(0){}
~pila();
bool is_empty();
void push(tipostringa);
void pop(tipostringa&);
tipostringa top();
void clear();//E' quella di cui mi interessa l'implementazione, in quanto le altre le ho già svolte...
};
io ho provato ad implementarla così...però non so se va bene, cioè funziona però non so se potrei dar luogo a dei problemi di memory leak ovvero lasciare delle cose allocate in memoria però che non sono più raggiungibili, tradotto in parole povere...vorrei sapere....in questo modo elimino tutto???
codice:
void pila::clear(){
puntnodo p;
while(testa){
p=testa;
testa=testa->punt;
delete p;
}
}
GRazie per il vostro cost(ante) aiuto