Alors j'apprendais comment faire une liste liée et je me demandais pourquoi nous devions utiliser "Nouveau" lors de l'ajout d'un nœud. Vous trouverez ci-dessous une fonction qui ajoute un nœud correctement: mais, puisque je suis nouveau à C ++, lorsque j'ai essayé de comprendre comment faire cela par moi-même, au lieu d'avoir la ligne: p> j'ai écrit: p> Cela ne fonctionne pas. Il semble que la nouvelle variable_node continue d'être affectée à la même adresse de mémoire chaque fois que vous essayez d'ajouter un nouveau nœud. Ceci est simultanément fascinant et induisant. Quelqu'un pourrait-il expliquer cette étrangeté C ++? p> merci! p> p>
3 Réponses :
Lorsque vous écrivez
Node new_node;
Lorsque vous déclarez une variable sans utiliser nouveau strud>, vous enregistrez une partie de la mémoire allouée dans la pile Lorsque vous déclarez en utilisant Vous pouvez trouver des informations plus détaillées dans le lien suivant:
https://www.griBblelab.org/cbootcamp/7_memory_stack_vs_heap.html P >
Node new_node; Node* new_node_ptr = &new_node;
Cette réponse évite délibérément des références externes et des termes tels que la pile, le tas, l'adresse ou la portée. Il n'invoque que l'outil utile le plus important et le plus important dans la boîte à outils de tout programmeur - le bon sens.
Voir Cette question .