[thinking in C++] delete sur void *
Voilà en lisant ce livre je suis arriver à une partie où on cree une classe pile ayant la forme suivante.
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| class Stack
{
private:
struct Link
{
void *data;
Link *next;
Link(void *dat, Link *nxt);
~Link();
} *head;
..... |
lorsqu'on retire un element de la pile, on fait un entre autre un delete head. Ce que j'ai du mal à comprendre c'est pourquoi quand on fait ce delete on garde toujours l'information de void *data, en 1 mot je peux l'utiliser ensuite sans souci.
par example quand j'avais une liste chainée de ce type
Code:
1 2 3 4 5
| struct noeud
{
int data;
noeud *suivant;
}; |
et qu'on faisait un delete sur un noeud on perdait toute l'information stockée dans le noeud (int data plus particulièrement)
alors pourquoi là on perd pas void *data.
Merci