création d'objet - C++ - Programmation
Marsh Posté le 10-06-2006 à 15:11:26
ffffff bonne question.
D'abord de quoi tu parle? du mot-clé static?
Ou de la difference entre une variable créée avec new() ou pas?
Marsh Posté le 10-06-2006 à 16:06:32
de créer avec new ( en dynamique ) ou en statque,
pourquoi il y a deux façons???
Marsh Posté le 10-06-2006 à 16:27:14
Parcequ'il y a deux parties distincte en mémoire.
La Pile:
Code :
|
Ces variables sont créées sur la pile, ainsi appelé car les variables sont empilées et sont automatiquement supprimés à la fin du bloc {} dans lequel elles ont été déclarées.
Le Tas:
Code :
|
Les pointeurs sont créés sur la pile, et libérés à la fin du bloc, mais l'objet lui-même est créé sur le tas, ainsi appelé car les objets y sont entreposés en désordre. L'objet n'est supprimé que lorsque l'on appelle explicitement le destructeur de l'objet:
Code :
|
En gardant un pointeur sur l'objet, on peut garder un objet pour l'utiliser dans diverses parties d'un programme, puis le supprimer quand on en a plus besoin, indépendamment des blocs de code.
L'utilisation du tas necessite de prévoir dans le programme la gestion de la mémoire.
Marsh Posté le 10-06-2006 à 16:37:48
Exemple: garder en mémoire un ensemble d'éléments de même type.
Exemple d'utilisation de la pile:
un tableau (accès rapide, ajout/suppression lent)
http://www.commentcamarche.net/c/ctab.php3
Exemple d'utilisation du tas:
une liste chaînée (accès lent, ajout/suppression rapide)
http://www.commentcamarche.net/c/cliste.php3
Marsh Posté le 10-06-2006 à 13:22:45
bonjour ,
je voudrai savoir pourquoi il existe deux façons de créer un objet ( statique ou dynamique)
merci