Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2000 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [c++ ] Fonçons dans le tas !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[c++ ] Fonçons dans le tas !

n°140774
John of th​e Baptiste
power of the siesta !
Posté le 18-05-2002 à 09:21:19  profilanswer
 

Alors voilà...
J'ai 2 classes, CJoueur et CBut.
Dans CJoueur, j'ai besoin de stocker les nombreux buts marqués par cette star !
Vu que je gère aussi un tableau de joueurs déclaré comme suit :
CJoueur *tab = new CJoueur[23];  
 
est-ce que je peux déclarer mon tableau de buts dans le joueur comme ceci : CBut tbut[10] ? Où sera-t-il placé en mémoire ? Dans la pile, ou ailleurs avec l'objet CJoueur auquel il est rattaché ?  :pt1cable:

 

[jfdsdjhfuetppo]--Message édité par John of the Baptiste le 18-05-2002 à 09:26:09--[/jfdsdjhfuetppo]

mood
Publicité
Posté le 18-05-2002 à 09:21:19  profilanswer
 

n°140777
John of th​e Baptiste
power of the siesta !
Posté le 18-05-2002 à 10:00:29  profilanswer
 

Siouplait aidez moi, je suis completement perdu avec ces histoires de pile et de tas !  :cry:

n°140785
verdoux
And I'm still waiting
Posté le 18-05-2002 à 10:49:26  profilanswer
 

Oui ça dépendra de l'endroit où le joueur est instancié.

n°140791
antp
Super Administrateur
Champion des excuses bidons
Posté le 18-05-2002 à 11:34:08  profilanswer
 

Je crois que quand tu fais CBut tbut[10] il met tout sur la pile, alors que CBut *tbut[10] il met que la liste de pointeurs sur la pile, et les instanciation se font en mémoire... (Enfin vu que la pile est en mémoire aussi :D)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°140796
John of th​e Baptiste
power of the siesta !
Posté le 18-05-2002 à 12:05:05  profilanswer
 

antp a écrit a écrit :

Je crois que quand tu fais CBut tbut[10] il met tout sur la pile, alors que CBut *tbut[10] il met que la liste de pointeurs sur la pile, et les instanciation se font en mémoire... (Enfin vu que la pile est en mémoire aussi :D)  




 
ça je sais, mais comme le tableau de buts est déclaré à l'intérieur du joueur, c'est plus pareil, non ?

n°140799
wpk
Posté le 18-05-2002 à 12:13:11  profilanswer
 

ce que tu appelle pile c'est un espace de memoire reservé aux variables locales lors d'un appel de fonction. Qd tu alloue de la memoire via un new, c'est le tas qui est utilisé. Tes instances de joueurs vont donc se trouver sur le tas y compris la classe aggregé but, quel que soit son type d'allocation. Par contre les 4 octets utilisés pour stocker le pointeur vers le tableau de joueurs eux seront peut-etre alloués sur une pile en fonction de comment tu les declares.

 

[jfdsdjhfuetppo]--Message édité par wpk le 18-05-2002 à 12:14:37--[/jfdsdjhfuetppo]

n°140800
John of th​e Baptiste
power of the siesta !
Posté le 18-05-2002 à 12:15:30  profilanswer
 

wpk a écrit a écrit :

ce que tu appelle pile c'est un espace de memoire reservé aux variables locales lors d'un appel de fonction. Qd tu alloue de la memoire via un new, c'est le tas qui est utilisé. Tes instances de joueurs vont donc se trouver sur le tas y compris la classe aggregé but, quel que soit son type d'allocation. Par contre les 4 octets utilisés pour stocker le pointeur vers le tableau de joueurs lui sera peut-etre alloué sur une pile en fonction de comment tu le declares.  




 
Ok merci !  :)  
Les 4 octets du pointeur, c'est pas grave, des centaines d'objets stockés à la porc dans la pile, ça c'est plus emmerdant.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [c++ ] Fonçons dans le tas !

 

Sujets relatifs
Plus de sujets relatifs à : [c++ ] Fonçons dans le tas !


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)