Libri o link sull'argomento ce ne sono, anche se non so con quale grado di appronfondimento lo trattano e non saprei consigliartene uno in particolari.
Comunque sì, **p significa che p è un puntatore ad un altro puntatore, ossia il suo valore è l'indirizzo di un indirizzo di memoria.
Se consideri ad esempio una matrice NxN, sia in C che in C++ questa viene allocata per righe. Ognuna di queste righe è un array, ossia una serie di elementi di memoria che hanno un indirizzo di base (*p). Se ad esempio, con l'allocazione dinamica, allochi spazio per 5 righe, avrai un puntatore esterno **p che punta a tali righe, ma queste righe sono array (che hanno un indirizzo iniziale) quindi **p non è altro che un puntatore all'indirizzo di base delle varie righe, ossia un "puntatore a puntatore".
Sono difficili da spiegare queste cose in poche righe (anche se relativamente facili da capire), in effetti ti servirebbe una buona documentazione di base ma come ti dicevo non saprei consigliartene. Posso solo dirti di andare a cercare un po' con big Gcodice:__ ____________________ |__| -> |__|__|__|__|__|__|__| |__| -> |__|__|__|__|__|__|__| |__| -> |__|__|__|__|__|__|__| |__| -> |__|__|__|__|__|__|__| |__| -> |__|__|__|__|__|__|__|
Caso mai aspetta che qualcuno sappia consigliarti meglio.


Rispondi quotando