Ponteiros sem medo: o que acontece na memória quando você escreve p = p->prox
Ponteiro não é bicho de sete cabeças: é uma variável que guarda um endereço. Veja, linha a linha e com endereços de verdade, o que &, * e -> fazem em C++, e os três erros que mais derrubam quem está começando.