thiosyiasar
Messages postés186Date d'inscriptionlundi 11 mars 2002StatutMembreDernière intervention30 novembre 2010
-
27 déc. 2004 à 10:47
thiosyiasar
Messages postés186Date d'inscriptionlundi 11 mars 2002StatutMembreDernière intervention30 novembre 2010
-
28 déc. 2004 à 12:43
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
pmbala
Messages postés30Date d'inscriptionsamedi 4 décembre 2004StatutMembreDernière intervention 2 avril 2008 27 déc. 2004 à 21:02
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