Plantage en utilisant le constructeur "new"

Ganaga Messages postés 7 Date d'inscription jeudi 15 juillet 2004 Statut Membre Dernière intervention 6 mai 2005 - 12 avril 2005 à 20:04
MNEMONIC Messages postés 59 Date d'inscription dimanche 19 décembre 2004 Statut Membre Dernière intervention 1 septembre 2006 - 19 avril 2005 à 11:55
Bonjour,

J'utilise le constructeur new pour affecter un tableau d'entiers dans une boucle qui s'exécute plus de 10000x. Au bout d'un certain temps (longtemps), mon programme plante sur cette instruction sans générer aucune exception. J'ai essayé les codes suivant :


int
* tab;
tab = new (nothrow) int[taille];
if(NULL == tab) cout<<"oups";

ou encore :

try
{tab = new int[taille];} catch(std::bad_alloc& e) cout<<"probleme!";

Bien sûr je détruit mes tableaux au fur et à mesure et d'après Windows, il me reste plus de 600Mo de mémoire libre alors que j'affecte un tableau de 500 int.

Quelqu'un pour m'éclairer ? Merci d'avance !!

.:Ganaga:.

1 réponse

MNEMONIC Messages postés 59 Date d'inscription dimanche 19 décembre 2004 Statut Membre Dernière intervention 1 septembre 2006
19 avril 2005 à 11:55
T'as bien un delete dans ta boucle...?
Question de pas avoir 10000 tableaux de 500 int...

Sinon, t'as essayé avec malloc, realloc, dealoc....?
0
Rejoignez-nous