begin process at 2012 02 10 18:15:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

Problème de delete


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

Problème de delete

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ée 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 petit problème avec strcat [ par macbang ] Bonjour,Je rencontre un petit problème avec la fonction strcat.j'ai déclaré plusieurs chaine de caractère.la première récupère un int converti en cara


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 1,919 sec (4)

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