Utilisation de delete [Résolu]

Signaler
Messages postés
186
Date d'inscription
lundi 11 mars 2002
Statut
Membre
Dernière intervention
30 novembre 2010
-
Messages postés
186
Date d'inscription
lundi 11 mars 2002
Statut
Membre
Dernière intervention
30 novembre 2010
-
Bonne fête à tous !!!!

En cette fin d'année, je suis confronté à un petit pb lors que mon application se termine, j'ai une erreur en relation la mémoire lorsque je manipule des volumes importants de données. Je pense que cela vient du fait que je n'utilise pas delete.

Je stocke ces données dans une structure sous la forme suivante.

struct CmcMetaTableStruct
{
unsigned char psName[TBL_NAME_LENGTH]; // Nom de la table
CmcMetaFieldStruct ptFields[FLD_ITEM_COUNT]; // Champs
unsigned int iLogicalFieldCount; // Nombre de champ logique
unsigned int iPhysicalFieldCount; // Nombre de champ physique
};

struct CmcMetaDataStruct
{
CmcMetaTableStruct *ptTables; // Liste des tables
unsigned int iLogicalTableCount; // Nombre de table logique
unsigned int iPhysicalTableCount;// Nombre de table physique
};

J'ai donc des tableaux fixes et variables
Je fait donc

CmcMetaDataStruct* ptMetaData = new CmcMetaDataStruct;

Je compte les tables puis je fait

ptMetaData->ptTables = new CmcMetaTableStruct[Nombre de tables];

pas besoin de faire un new lorsque le table est fixe

je traite puis maintenant faut que je passe je libère la mémoire

MA QUESTION : comment on utilise delete ?

Je pensai faire

delete [Nombre de tables] ptMetaData->ptTables;

puis

delete ptMetaData;

Suis je dans le vrai ?

Nico

3 réponses

Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
delete [] ptMetaData->ptTables;
delete ptMetaData;

delete[] lorsque l'on fait new[...];
delete lorsque l'on fait new
Messages postés
30
Date d'inscription
samedi 4 décembre 2004
Statut
Membre
Dernière intervention
2 avril 2008

oui tout à fait d'accord avec toi,si ce n'est qu'il serait aussi souhaitable d'initialiser le pointeur à NULL apres le delete pour etre certain que l'espace est bien libéré!!!
YMCA2003, je tiens encore à te remercier pour mon pb des arbres binaires de ce matin,ça marche comme sur des roulettes!!!je vais d'ailleurs le poster pr en faire profiter les autres...lol
Messages postés
186
Date d'inscription
lundi 11 mars 2002
Statut
Membre
Dernière intervention
30 novembre 2010
2
Merci pour la réponse simple et efficace

Nico