begin process at 2012 05 29 19:13:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

new delete quelqun pourrait il m'expliquer simplement ?


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

new delete quelqun pourrait il m'expliquer simplement ?

lundi 13 juin 2005 à 21:00:08 | new delete quelqun pourrait il m'expliquer simplement ?

plhea

bonjour j'aimerai bien que qqun m'explique l'utilité de new delete et des destructeurs
(les constructeurs je crois avoir compris l'interêt c'ext bon^^) et aussi comment on procède la syntaxe et tout et tout voila


plhea
lundi 13 juin 2005 à 21:13:18 | Re : new delete quelqun pourrait il m'expliquer simplement ?

Joky

Membre Club
char* szChaine;   //Pointeur qui vaut rien :)

szChaine = new  char[256];      //Initialisation du pointeur

delete[]   szChaine;   //destruction pour pas qu'il y'ai de la mémoire allouée qu'on utilise plus

utilise delete[]   lorsque qu'on crée un tableau, et sinon delete quand c'est pas un tableau

new et delete c'est la version C++, en C on utilise malloc() et free() (Hein Vecchio ;) )
donc vala en gros...

void Aurevoir( void ); //Bonne journée

lundi 13 juin 2005 à 21:32:32 | Re : new delete quelqun pourrait il m'expliquer simplement ?

plhea

et le destructeur il intervient quand?
il est appelé automatiquement non?


plhea
lundi 13 juin 2005 à 22:32:52 | Re : new delete quelqun pourrait il m'expliquer simplement ?

xterminhate

Membre Club
new appelle le constructeur, delete le destructeur.

Cordialement,
Xterminhate.
lundi 13 juin 2005 à 23:22:49 | Re : new delete quelqun pourrait il m'expliquer simplement ?

luhtor

L'appel du destructeur d'un objet static (= tu n'as pas créer avec new) est de toute facon appelé automatiquement lorsqu'il faut :) Donc dans le desctucteur il faudra peut etre mettre des delete suivant les variables que ta classe utilise (par exemple, si une variable est un pointeur que tu aurais initialiser avec new).

++
mardi 14 juin 2005 à 09:16:24 | Re : new delete quelqun pourrait il m'expliquer simplement ?

ymca2003

- Le constructeur est appelée lors de la création d'un objet (allocation statique ou dynamique). Cela permet d'initrialiser l'objet pour que l'on puisse s'en servir sans risque tout de suite.

- Le destructeur est appelé lors de la destruction de l'objet (quand il de vient hors d'accès pour l'allocation statique ou lors d'un delete). Là on se charge de désallouer touttes les ressources allouée par l'objet au cours de sa vie (mémoire, fichiers, connexion...)

Ces 2 méthodes particulières sont appelées automatiquement lors de la création et la destruction des objets.

Ensuite, les objets peuvent être créés de 2 façons : statique et dynamique.
- statique : la place mémoire et sa taille initiale est connue à la compilation. Si c'est un objet global, il est crée au début du prog et est détruit à la fin. Si c'est un objet local, il est crée au début du bloc ou de la fonction est est détruit à la fin du bloc ou de la fonction.
- dynamique (avec pointeur) : aucune place mémoire n'est pré-alloué pour l'objet. La création se fait par new (ou new [] pour les tableaux). La destruction se fait par delete (ou delete[] pour les tableaux). Et là c'est toi qui décide de la vie de ton objet. Mais ça devient plus compliqué à gérer si tu partage l'objet entre plusieurs modules de ton prog car c'est à toi de décider qui va s'occuper de le détruire.


Cette discussion est classée dans : expliquer, simplement, delete, quelqun


Répondre à ce message

Sujets en rapport avec ce message

net use * /delete EN C++ [ par LeBobo ] Salut. J'ai un petit programme qui utilise la fonction : system(''net use * /delete'') ; Le problème est que mon programme à une interface graphique w interface dynamique [ par emilia123 ] Bonjour. je souhaite dans le but de créer un chat en C++ sous builder, de créer dynamqieument l'interface. Mais je ne sais pas comment gerer les évène New et Delete [ par Tyroflan ] juste une questionsi j'ai ceci : int *p1;...main(){int pipi;cin >> pipi;p1 = new int [pipi];...delete[pipi] p1; ou bien delete[] p1;}MAISje procède ImpressionJob (delete, pause...) [ par sena ] Bonjour,je recherche tout exemple ou toute personne pouvant m'aider à utiliser SetJob(....) car je n'y arrive pas.Je récupère bien tous les jobs mais Est ce que quelqun a lu le manuel de reférence visual C++ .net [ par Poolman ] Voila, j'aimerais accéder aux fichiers sourcesde cet ouvrage sans l'acheter, c'est pourquoi, si quelqun a le MANUEL DE RÉFÉRENCE MICROSOFT VISUAL C++ 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 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 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 Probleme avec operateur delete! [ par WhiteSpi ] Bonjour a tous,J'ai une fonction qui construit un arbre de positions...donc en gros je declare un :Tree *tree= new struct Tree()ensuite je le remplis, Pb avec GetHwnd quelqun qqn a t il la soution [ par nej92 ] BonjourJ ai un probleme avec la methode GetHwnd, en fait je voudrai qu elle me rende un handle sur une fenetre dont je connais le nom qqn peut il m ai


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,920 sec (4)

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