Non riesco a capire perchè quando estraggo da una lista con questa procedura :
void pop(L& l,E& e) {
e=l->elem;
L p=l;
l=l->punt; //<------------aggiorno l
delete p;
per aggiornare l ( puntatore al nodo precedente) prima bisogna crearsi un puntatore a cui assegnamo il valore di l , poi aggiorniamo l e poi deallochiamo il puntatore creato, perchè si fa? se aggiornassimo direttamente il puntatore così non sarebbe uguale?
void pop(L& l,E& e) {
e=l->elem;
l=l->punt; //<------------aggiorno l
probabilmente (sicuramente) ho detto una cavolata, ma aiutatemi a capire il motivo di quell'allocazione e deallocazione