In effetti non sono proprio certo che sia un termine corretto in questo caso (al limite arriverà oregon e mi martellerà i ditini), comunque "wrapper" significa "involucro": in pratica questa funzione ti nasconde la presenza dell'altra, e ti da un modo di utilizzarla senza incorrere in errori.P.S: Che vuol dire che "fa da wrapper sulla prima"?![]()
Prova con un esperimento:Continuo a non capire, ma va beh, ti prendo sulla parola![]()
Prova ad eseguirlo con e senza la riga commentata e vedrai cosa succedecodice:int x = 0; int* ptr = &x; free(ptr); //ptr = NULL; free(ptr);
Hai ragione scusa, essendo dei puntatori devi deallocare anche key e payload: infatti tu liberi la memoria dedicata al puntatore, ma non la memoria puntata da questo puntatore.P.S: Riguardo il metodo corretto per deallocare mi basta richiamare la free sul puntatore alla struct o devo deallocare anche singolarmente la key, il payload? Per le funzioni non c'è nulla da deallocare credo...
Sinceramente non ho mai provato a deallocare una funzione... chissà cosa succede? Ora ci provo![]()