Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Problème de delete [ Archives / Divers ] (ManTico)

samedi 12 juin 2004 à 14:32:49 | Problème de delete

ManTico

Salut à tous, j'ai un peu de peine avec la gestion de la mémoire et je voulais savoir deux choses :
- pourquoi en mode Debug mon prog plante sur les delete?
- pour libèrer un tableau (char* T = new char[5];) faut-il utiliser delete, delete[] ou delete[5]?


samedi 12 juin 2004 à 15:14:45 | Re : Problème de delete

djl


si ton delete plante, ca ve dire que tu libere un truc que tu n'a pas alloué, tu doit avoir une fuite

utilise delete[] pour liberer ce que tu a alouer avec new [...]

samedi 12 juin 2004 à 16:28:32 | Re : Problème de delete

ManTico

Je pense que la mémoire doit être allouée, car il ne plante qu'en mode Debug et passe en mode Release.

samedi 12 juin 2004 à 16:35:07 | Re : Problème de delete

djl


ben ca plante pas forcement, fais voir le code

samedi 12 juin 2004 à 17:01:02 | Re : Problème de delete

ManTico

Ce code passe en Release mais pas en Debug :

#include <iostream>

using namespace std;

void main()
{
char* T = new char[5];

T = "dfgjz";

cout << T << "\n";

delete[] T;
}


samedi 12 juin 2004 à 17:14:23 | Re : Problème de delete

djl


c'est bien ce que je disais, une grosse fuite

a mon avis si tu maitrise pas les pointeurs, utilise plutot string

pour ton probleme, si tu fais ca avec des char*

#include <iostream>
#include <cstring>

using namespace std;

int main()
{
char* T = new char[5];

strcpy(T,"dfgjz");

cout << T << '\n';

delete[] T;
}

samedi 12 juin 2004 à 17:36:39 | Re : Problème de delete

alain34270

parce que quand tu fais :

T = "dfgjz"

tu donnes au pointeur T l'adresse du début de la mémoire contenant "dfgjz" qui, de cette manière, est allouée sur la pile, et non dans le tas.

Quand tu fais ton delete, tu essaies donc de libérer une zone mémoire de la pile...

a+
alain

samedi 12 juin 2004 à 17:37:21 | Re : Problème de delete

ManTico

Merci, j'avais oublier qu'il fallait faire des copie mémoire avec les pointeurs.

samedi 12 juin 2004 à 18:14:30 | Re : Problème de delete

dletozeun

tu peux faire ca aussi:

*T=dfgjz"; a la place de strcpy(T,dfgjz");

samedi 12 juin 2004 à 18:16:29 | Re : Problème de delete

dletozeun

*T="dfgjz"; a la place de strcpy(T,"dfgjz");

pardon g oublié des guillemets!!


1 2

Cette discussion est classé dans : problème, char, delete


Répondre à ce message

Sujets en rapport avec ce message

Problème avec delete[] [ par gbourgeois0019 ] SalutJ'ai un petit problème. voici le code :char* Temp = new char[100];char* Title = new char[100];strcpy(Temp,"Exemple");Title = Temp + 1 ;delete[] T Problème passage de C à C++ [ par tintin72 ] Bonjour, J'ai récupéré un programme en C (sous Windows) que j'avais fait et qui affiche des informations sur les évènements MIDI générés par mon clavi Problème pour creer un bot. HELP ME [ par oshin ] Hello,Bon enfaite j'aimerais creer un bot pour qu'il se connect sur irc, rejoingne un salon et puis ce sera tout pour le moment. voici mon code:#inclu Probleme de delete suite à une allocation dynamique [ par Kaory ] Bonjour j'ai un petit (ou gros faut voir) probleme je manipule des char * et j'utilise des new et lorsqu'il vient le moment de les desallouer avec del Problème avec les ajouts de chaînes de caractères [ par nisaloncaje ] Bonjour je voudrais ouvrir un fichier en utilisant :ifstream entree (nom_fichier, ios::in|ios::binary);où nom_fichier est le nom du fichier ;)Puis j'e Problème de char [ par ToToL ] Bonjour ,mon souci est que j'ai besoin de créé une fonction qui renvoi une chaine de caractère créé en local , et que le résultat renvoyé soit utilisa FindResource [ par deck_bsd ] Yop à tous,Voila j'ai un big problème. En fait je crée une liste des resource d'un exe dans mon application. Et lorsque je clique sur une d'entre elle Problème de char et dans une struct [ par yggy ] dans ce code : il me dit une erreur après le char dbmdp[7][5] je vois pas mon erreur!ai-je fait quelque chose de faux?struct ServerTest1{   char dbmdp Conversion chaîne en nombre [ par baham ] Bonjour à tous!  Je viens vous voir car je rencontre un problème ; je souhaite convertir une chaîne de caractère en un nombre à virgule (float, double problème de fonction de tirage aléatoire en poker [ par moonlight2509 ] Salut, étant en débutant en langage c mon problème paraît peut-être très bête!! Voilà j'ai un problème d'argument ou de type de fonction dans la fonct


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,515 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.