- FreeMode
- FreeMode
- Reserve
- Resize
- Clear
- Shutdown
- CreateElement
- Add
- AddArray
- Insert
- InsertArray
- AssignArray
- Update
- Shift
- Detach
- Delete
- DeleteRange
- At
- CompareArray
- InsertSort
- Search
- SearchGreat
- SearchLess
- SearchGreatOrEqual
- SearchLessOrEqual
- SearchFirst
- SearchLast
- Save
- Load
- Type
FreeMode
Définit le mode de gestion de la mémoire.
void FreeMode(
|
Paramètres
mode
[in] Nouveau mode de gestion de la mémoire.
Valeur de Retour
Aucune.
Note
La définition du mode de gestion de la mémoire est un point important de l'utilisation de la classe CArrayObj. Puisque les éléments du tableau sont des pointeurs vers des objets, il est important de savoir comment les gérer lorsqu'ils sont enlevés du tableau.
Si le mode est activé, enlever un élément du tableau déclenche sa suppression par un appel à l'opérateur delete. si le mode n'est pas activé, le pointeur vers l'objet existe toujours quelque part dans le programme et doit être libéré par le programme.
Si le mode de gestion de la mémoire est réinitialisé, le programmeur doit prendre la responsabilité de la suppression des éléments de la liste avant la fin du programme pour libérer la mémoire utilisée lors de la création de l'élément avec l'opérateur new. Avec de gros volumes de données, ceci peut empêcher votre terminal de fonctionner.
Avec de gros volumes de données, cela peut amener à des problèmes d'utilisation du terminal. Il y a également un autre risque.
Avec les listes de pointeurs, les éléments sont stockés sous forme de variables locales. Après la suppression de la liste, ne pas supprimer ces variables peut provoquer des erreurs critiques et des crashs du programme. Par défaut, le mode de gestion de la mémoire est activé, la classe de la liste est responsable de la libération de la mémoire de ses éléments.
Exemple :
//--- exemple d'utilisation de CArrayObj::FreeMode(bool)
|