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