La gestion de la mémoire en C++ permet la création de structures de données personnalisées. L'allocation dynamique de mémoire utilise les opérateurs new et delete pour allouer et libérer de la mémoire au moment de l'exécution. Des structures de données personnalisées peuvent être créées à l'aide d'une allocation dynamique de mémoire, telle qu'une liste chaînée, où la structure de nœud stocke un pointeur vers le nœud et les données suivants. Dans le cas réel, la liste chaînée est créée à l'aide d'une allocation dynamique de mémoire, stocke des entiers et parcourt les données d'impression, et libère enfin la mémoire.
Gestion de la mémoire C++ : création de structures de données personnalisées
En C++, la gestion de la mémoire est le composant de base de la manipulation et de l'allocation de mémoire. Il permet aux développeurs de créer et de gérer des structures de données personnalisées pour répondre aux besoins d'applications spécifiques.
Allocation dynamique de mémoire
L'allocation dynamique de mémoire permet à un programme d'allouer et de libérer de la mémoire au moment de l'exécution. En C++, nous utilisons des opérateurs new et delete pour allouer et libérer dynamiquement de la mémoire.
Par exemple, pour allouer dynamiquement un tableau d'entiers, nous pouvons utiliser le code suivant :
int* myArray = new int[10]; // 分配 10 个整数的内存
Structure de données personnalisée
Des structures de données personnalisées peuvent être créées à l'aide de l'allocation dynamique de mémoire. Par exemple, nous pouvons créer une structure de nœuds pour représenter une liste chaînée :
struct Node { int data; Node* next; };
Ensuite, nous pouvons utiliser l'allocation dynamique de mémoire pour créer et connecter des nœuds :
Node* head = new Node; // 创建链表头 head->data = 1; Node* second = new Node; // 创建第二个节点 second->data = 2; head->next = second; // 将第二个节点连接到头节点
Cas pratique : liste chaînée
Supposons que nous devions créer un liste chaînée pour stocker un ensemble d’entiers. Nous pouvons utiliser la structure de nœud définie ci-dessus et l'allocation dynamique de mémoire pour créer une liste chaînée comme celle-ci :
#include <iostream> using namespace std; struct Node { int data; Node* next; }; int main() { Node* head = new Node; // 创建链表头 head->data = 1; Node* second = new Node; // 创建第二个节点 second->data = 2; head->next = second; Node* third = new Node; // 创建第三个节点 third->data = 3; second->next = third; // 遍历链表并打印数据 Node* current = head; while (current != nullptr) { cout << current->data << " "; current = current->next; } cout << endl; // 释放链表中分配的内存 while (head != nullptr) { Node* next = head->next; delete head; head = next; } return 0; }
Sortie :
1 2 3
Ce programme crée une liste chaînée avec trois nœuds, chaque nœud stockant un entier. Parcourez ensuite la liste chaînée et imprimez les données dans chaque nœud. Enfin, le programme libère la mémoire allouée dynamiquement dans la liste chaînée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!