IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

pointeur dans une boucle


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    31
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 31
    Par d�faut pointeur dans une boucle
    Bonjour � tous,

    je trouve un probl�me de m�moire dans un programme (bad_alloc) � cause d'une petite boucle et un pointeur ! j'ai essay� diff�rentes mani�res de d�claration de ma variable (pointeur raw, pointeur intelligent et statique) mais toujours avec des soucis

    voici le corps de ma boucle sachant que CText est une classe personnelle

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    for(int i=1; i<=iterations; i++)
    {
      CText *text = new CText;
      text->LoadFile(i);
     
      // autres opérations
     
      if(text != NULL)
      {
        delete text;
        text = NULL;
      }
     
    }
    J'aimerai r�soudre ce probl�me aussi-t�t, merci d'avance

  2. #2
    Membre �m�rite

    Homme Profil pro
    Non disponible
    Inscrit en
    D�cembre 2012
    Messages
    478
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Non disponible

    Informations forums :
    Inscription : D�cembre 2012
    Messages : 478
    Billets dans le blog
    1
    Par d�faut
    Bonsoir,
    Pourquoi ne pas faire simplement :Les pointeurs sont n�cessaires pour l'h�ritage. Je ne vois pas leurs utilit�s ici.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    for(int i=1; i<=iterations; i++)
    Serait sans doute :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    for(int i=0; i<iterations; i++)
    Un tableau commence g�n�ralement � z�ro, et sa taille correspond � la derni�re case + 1.

  3. #3
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    31
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 31
    Par d�faut
    Merci pour votre r�ponse !

    Une petite pr�cision, la boucle n'est pas un parcours de tableau pour commencer par 0 ! Ce sont des fichiers parcourus de 1 jusqu'� un certain nombre. En effet, j'ai essay� aussi la d�claration statique (comme vous avez mentionn�) de ma variable mais le r�sultat reste le m�me (atteindre 2 Gb de RAM) bad_alloc!

    Ce que je comprends pas est pourquoi la ressource allou�e n'est pas lib�r�e correctement apr�s l'appel de delete ????

    PS: le test est fait sous dev-c++ et visual c++

  4. #4
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    Citation Envoy� par x-programer Voir le message
    (atteindre 2 Gb de RAM)
    Je crois qu'on l'a le probl�me l�.

    Tu essayes de faire quelque chose que ton pc ne peut pas.
    http://www.cplusplus.com/reference/new/bad_alloc/
    Tu peux le tourner dans tous les sens, (smart) pointeur, statique etc.. quand t'as plus de ram, t'as plus de ram.
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Septembre 2013
    Messages
    639
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 639
    Par d�faut
    Le mieux serait que tu nous montres la classe Ctext... au moins les constructeurs et le destructeur ainsi que les fonctions qu'ils appelent.

    Quelle est la ligne de code qui lance l'exception ?

  6. #6
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    31
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 31
    Par d�faut
    merci � tous, enfin j'ai r�solu le probl�me le probl�me �tait dans une de mes structures de bas niveau (int�rieures), j'ai pas d�fini une fonction release pour elle !

    j'esp�re que �a aidera quelqu'un d'autre qui utilise les pointeurs (il faut toujours v�rifier l'allocation et la lib�ration des ressources)

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Probl�me avec TNMSMTP dans une boucle.
    Par Orgied dans le forum Web & r�seau
    R�ponses: 3
    Dernier message: 07/04/2004, 10h19
  2. swf dans une boucle asp
    Par Chucky69 dans le forum Flash
    R�ponses: 11
    Dernier message: 10/02/2004, 17h07
  3. [Vb.net] Index� un objet cr�e dans une boucle
    Par picpic dans le forum Windows Forms
    R�ponses: 10
    Dernier message: 17/12/2003, 14h37
  4. Pause dans une boucle
    Par HT dans le forum Langage
    R�ponses: 4
    Dernier message: 03/06/2003, 08h52
  5. [Turbo Pascal] Allocation et d�sallocation de pointeurs dans une fonction
    Par neird dans le forum Turbo Pascal
    R�ponses: 13
    Dernier message: 17/11/2002, 20h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo