Je regarde un exemple de manuel d'une liste liée qui implémente une pile. Je ne comprends pas pourquoi utiliser un pointeur vers un pointeur vers la pile est nécessaire pour l'opération de poussée. Voir l'exemple suivant:Pourquoi utiliser un pointeur vers un pointeur vers la pile lors de la création d'une fonction de poussée?
bool push(Element **stack, void *data)
{
Element *elem = new Element;
if(!elem) return false;
elem->data = data;
elem->next = *stack;
*stack = elem;
return true;
}
Si quelqu'un peut aider à expliquer pourquoi le premier paramètre de la méthode de poussée est un pointeur vers un pointeur, je serais très heureux. Merci.
Incroyable, merci pour toute l'aide excellente.
C doesn pas un nouveau k eyword. C++ fait. Cela dit, C++ avec jeter une exception sur un échec d'allocation de mémoire, il n'y a pas besoin de vérifier null. – GManNickG
Gardez également à l'esprit que vous pouvez utiliser des références au lieu de pointeurs pour laisser le compilateur faire le sale boulot pour vous. – GManNickG