begin process at 2012 05 28 20:43:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

desallocation c++


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

desallocation c++

jeudi 23 mars 2006 à 10:32:12 | desallocation c++

donlefou

Bonjour voici un bout de code :
for(i=0;i<nb_individus;i++)
 {
  individu *ind = new individu(fichier_entree);
  ind->charger(i);
  liste.addLast(ind);
  // delete ind;
 }

Est-ce que le "delete ind" est nécessaire ou bien l'individu "ind" est détruit automatiquement quand je sors de la boucle for ?

jeudi 23 mars 2006 à 11:14:16 | Re : desallocation c++

Zootella

Nécessaire puisque tu as utilisé new.
Par contre si addLast stock le pointeur et que tu le delete ça va poser problème.
jeudi 23 mars 2006 à 11:21:20 | Re : desallocation c++

donlefou

Effectivement mon addLast stocke le ptr :

void C_Liste<T>::addLast(T *elt)
{
    if (nb_element >= nb_element_alloue)
  grow();

    element[nb_element] = *elt;
    nb_element++;
}

donc le delete ne marche pas alors ?
en fait j'ai des problemes de fuite memoire.
comment je fais alors pour supprimer "ind" de la memoire ?


jeudi 23 mars 2006 à 11:21:42 | Re : desallocation c++

DeAtHCrAsH

Apparement individu est une classe.
Pour supprimer individu passe par le déstructeur de ta classe.

Shell
jeudi 23 mars 2006 à 11:28:19 | Re : desallocation c++

donlefou

en fait individu est une classe qui dérive d'une autre classe C_Liste.
le constructeur de la classe individu ne fait rien et appel le destructeur de sa classe mère donc C_Liste :

template <class T>
C_Liste<T>::~C_Liste()
{
 delete [] element;
 element = NULL;
 nb_element = 0;
 nb_element_alloue = 0;
}

Voici la structure de la classe C_Liste :
template <class T>
class C_Liste
{
 private:
  T *element; // Tableau d'élément
  unsigned int nb_element; // Nombre d'éléments accessibles
  unsigned int nb_element_alloue; // Nombre d'éléments alloués

 public:
  C_Liste();

  ~C_Liste();

etc....




Cette discussion est classée dans : for, delete, ind, individu, desallocation


Répondre à ce message

Sujets en rapport avec ce message

Liberation de la memoire - tableau dynamique a plusieurs dimensions [ par playmo420 ] SalutJ'ai un petit probleme : j'utilise des tableaux a plusieurs dimensions, mais lorsque je veux liberer la memoire (dans le destructeur de la classe pb avec delete c++ [ par djl ] je cree un tableau d'objets dynObjet** objets;objets = new Objet*[l];for(int i=0;icomment on le detruit?car je fait cafor(int i=0;idelete[] objets;e Problème delete tableau dynamique [ par ttfl ] Bonjour,je suis débutant en c++.Quelqu'un pourrait il me dire pourquoi le programme suivant plante à la dernière instruction (delete [] tableau;) svp Création de 2 tableaux dynamik à 2D [ par flopflopp ] Bonjour, je voudrais soumettre un petit problème en C++, j'ai une simple fonction qui crée un tableau dynamique à 2 dimensions, le rempli avec des 1 e Constructeur destructeur ? [ par Davy8x ] J'ai débuté un casse brique 3D en C++ OpenGL. J'ai j'uste programmé une balle qui se déplace en 3D, une sorte de bate (un paver) avec l'accélération e utiliser en vb++ une dll faite en c++ [ par jon26 ] Bonjour, je me casse la tête à tenter d'appeler une fonction de ma dll vc++ 6.0 en vb6.0.Voici le code de ma fonction exemple dans la dllextern "C" __ pb classe new et delete [ par mat74 ] salut a ts j'ai encore un pb avec les classescomment je pourrai faire sa :class teste {public: int x; void augmenter() {x++;} void detruire(test For Each ou équivalent? [ par spomky ] Je vous explique mon soucis.j'ai un document XML qui ressemble a ceci: Button1 Salut boucles for... [ par norton ] bonjour,je voudrai pouvoir calculer et voire le nombre de fois que mon programme vérifie le contenu de la boucle (voire si une variable a la valeur de petit probleme de pause [ par sozer2 ] Bonjour je suis débutant en C++ et j'ai un ptit problemeJe souhaite faire une pause sous linux mais la fonction system("pause"); ne marche que sous wi


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales