|
Bas de page | |
---|---|
Auteur | Sujet : C++ Pb de libération de memoire. |
oliv5 Pourquoi ? Parce que ! | C'est un problème tres con, mais bon, y en a marre : impossible de libérer un objet qui se trouve dans une liste chainee.
|
Publicité | Posté le 12-03-2001 à 10:06:27 |
darkoli Le Petit Dinosaure Bleu | il faudrait plus de precisions :
|
verdoux And I'm still waiting | Ben c'est comme ça qu'on fait en principe. Donc tu dois avoir fait une erreur dans le code. |
verdoux And I'm still waiting | delete this dans le destructeur est une mauvaise idée puisque delete appelle le destructeur [edit]--Message édité par Verdoux--[/edit] |
Publicité | Posté le 12-03-2001 à 15:41:09 |
oliv5 Pourquoi ? Parce que ! | Haaaaaa, delete, j'avais pas pigé. Et que fais tu dans ton destructeur ? (mis a part les actions eventuelles sur d'autres objets?)
|
verdoux And I'm still waiting | Et il faudrait planquer le constructeur par copie et l'opérateur d'affectation sinon ça peut merder. |
verdoux And I'm still waiting | Les templates ou patrons de classes permettent de définir des familles de classes à partir d'une seule, grâce à une paramétrisation. [edit]--Message édité par Verdoux--[/edit] |
[FDS] | VIVE JAVA !!! |
oliv5 Pourquoi ? Parce que ! | Ha, Ok, je vais essayer le coup des templates. |
n0mad inscrit au XXe siècle | >2- comme j ai dit precedemment tu fais appel au destructeur de >l --------------- Pipiru piru piru pipiru pi |
oliv5 Pourquoi ? Parce que ! | Bouhouhouhou, j'y comprend rien du tout. J'ai essayé plein de trucs, dont les destructeurs virtuels qui semblaient logiques, mais ca ne marche pas comme je veux. Alors j'ai essayé un truc tout con : j'appelle delete sur une classe toute simple (pas d'heritage, de derivation ou quoi que ce soit) et malgré ca, l'objet est encore en mémoire (je peux lire ses variables etc...)
|
verdoux And I'm still waiting | Je pense que même si tu libères la mémoire, en inspectant ensuite la zone occupée par l'objet, tu pourras lire ses variables dans le dernier état occupé.
|
oliv5 Pourquoi ? Parce que ! | j'espère que tu as raison. Mais j'ai beau faire plein de création d'objets apres, il n'ecrase pas l'objet désalloué. |
oliv5 Pourquoi ? Parce que ! | J'ai trouvé !!!!!!! En fait, dans ma liste chainée d'objets, un même objet peut être en double, triple, etc... et quand je libère la mémoire la première fois, ca marche, mais la deuxième .... ca plante. |
verdoux And I'm still waiting | Dans ce cas il faut utiliser des "pointeurs intelligents" (avec compteur de référence) |
oliv5 Pourquoi ? Parce que ! | des pointeurs quoi ???
|
LeGreg | Deja regarde quels sont tes besoins!
|
Publicité | Posté le |
Sujets relatifs | |
---|---|
problème de mémoire XMS avec un 386 | [Javascript] Limitation de mémoire @ déclarations de vars/arrays ? |
ajout de mémoire | place mémoire dispo en C++ |
Plus de sujets relatifs à : C++ Pb de libération de memoire. |