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

  FORUM HardWare.fr
  Programmation
  C++

  le destructeur est il executé a chaque boucle ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

le destructeur est il executé a chaque boucle ?

n°435476
weed
Posté le 21-06-2003 à 23:40:42  profilanswer
 

voilou je m'explique, j'utilise ma fonction display en opengl.
cette fonction indefinniment pour afficher constamment les changement a l'ecran ...
 
dans cette boucle je declarre des objets, je sais il faudrait que je m'arrange autrement soit en appellant le constructeur uniquement dans mon main() ou en declarant l'objet en dehors en tant que variable global (mais c'est pas tres propre)
 

Code :
  1. for (;;)
  2. {
  3.   carre t(0.1,0.2);
  4. }


est que le destructeur est appellé a chaque fois ?

mood
Publicité
Posté le 21-06-2003 à 23:40:42  profilanswer
 

n°435478
chrisbk
-
Posté le 21-06-2003 à 23:43:57  profilanswer
 

ben ouais
pkoi tu le declares pas en dehors de ta boucle ?

n°435480
weed
Posté le 21-06-2003 à 23:56:22  profilanswer
 

bahh en tant que variable global c'est pas propre du tout  
et dans le main apres c'est prise de tete pour faire passer les variables, objet ds : glutDisplayFunc(display);
 
tu fais comment ???

n°435481
chrisbk
-
Posté le 21-06-2003 à 23:59:45  profilanswer
 

bah j'en sais rien, deja pas du global, mais la vu que ta variable n'est utilisé que dans la boucle, qu'st ce que ca change de la declarer en dehors ?

n°435483
weed
Posté le 22-06-2003 à 00:06:25  profilanswer
 

bahh je sais pas lol  
 
j'ai ma fonction display  

Code :
  1. void display (void)
  2. {
  3. }


qui est appellé par  

Code :
  1. glutDisplayFunc(display);


ds le main ....
 
le probleme je sais pas trop si je peux rajouter des parametres, non en principe :( car normallement je pense que son prototype est :
glutDisplayFunc(* ft);

n°435484
chrisbk
-
Posté le 22-06-2003 à 00:06:55  profilanswer
 

heuh, et ben ?

n°435486
weed
Posté le 22-06-2003 à 00:13:11  profilanswer
 

et bien je pense que c'est que c'est pour cette raison que les sources que j'ai regardé sont programmé comme " des petits cochons"   :lol: :wahoo:

n°435496
LeGreg
Posté le 22-06-2003 à 04:30:30  profilanswer
 

oui mais qu'est-ce qui t'empeche de le mettre en dehors de ta boucle for ??
 

Citation :

et bien je pense que c'est que c'est pour cette raison que les sources que j'ai regardé sont programmé comme " des petits cochons"   :lol: :wahoo:


 
Ben.. euh.. ca va bien ??
 
weed = herbe non en anglais.. ?
tu n'en as pas abusé un peu?
 
LeGreg

n°435502
weed
Posté le 22-06-2003 à 09:05:47  profilanswer
 

lol je viens de repondre à http://forum.hardware.fr/forum2.ph [...] ubcat=#bas
 
legreg, repond moi franchement, as tu deja devellopé avec glut/opengl ?  
 
je ne pense pas car lol tu n'as pas l'air de comprendre  
 

Code :
  1. //variable global
  2. carre t;
  3. void display (void)
  4.   { 
  5.        //affichage des objets     
  6.        t.affiche(); //t s'affiche a l'ecran  
  7.       glutPostRedisplay();
  8.   }
  9. main ()
  10. {
  11.    t.affiche(); //t ne s'affiche pas à l'ecran
  12.    glutDisplayFunc(display);
  13. }


Message édité par weed le 22-06-2003 à 09:06:01
n°435503
LeGreg
Posté le 22-06-2003 à 09:08:05  profilanswer
 

weed a écrit :

lol je viens de repondre à http://forum.hardware.fr/forum2.ph [...] ubcat=#bas
 
legreg, repond moi franchement, as tu deja devellopé avec glut/opengl ?  
 


 
oui et où est ta boucle for ?
 
LeGreg

mood
Publicité
Posté le 22-06-2003 à 09:08:05  profilanswer
 

n°435506
weed
Posté le 22-06-2003 à 09:15:48  profilanswer
 

ca est l'equivalent d'une boucle for, on rappelle a chaque fois la fonction d'affichage. cela permet de mettre a jour constamment l'affichage de l'ecran
 

Code :
  1. void display (void)
  2.     { 
  3.            //affichage des objets     
  4.            t.affiche(); //t s'affiche a l'ecran   
  5.           glutPostRedisplay();
  6.     }


   
 

Citation :

weed = herbe non en anglais.. ?  
tu n'en as pas abusé un peu?


lol au début je ne savais ce que voulais dire ce mot la en anglais. j'ai choisis weed par hasard, diminutif de weedman.
 
oki alors si tu as déja dvpé en opengl.
 
 
 

n°435507
LeGreg
Posté le 22-06-2003 à 09:25:06  profilanswer
 

weed a écrit :

ca est l'equivalent d'une boucle for, on rappelle a chaque fois la fonction d'affichage. cela permet de mettre a jour constamment l'affichage de l'ecran
 

Code :
  1. void display (void)
  2.     { 
  3.            //affichage des objets     
  4.            t.affiche(); //t s'affiche a l'ecran   
  5.           glutPostRedisplay();
  6.     }




 
Ok c'etait un peu tiré par les cheveux, je voyais pas trop le rapport entre la question et glut..
 
Pour ce qui est de la construction de GLUT, elle a ete pensé en C et n'est pas destiné à etre un point de départ d'un framework complet.
 
Pour ce qui est de ne pas reconstruire carré, rien ne t'empeche dans un premier temps de le définir en static dans ta fonction ou en global comme tu l'as fait.
 
Mais si ça devient complexe ça ne vas pas etre viable d'avoir une liste d'objets declarés en global comme ça. Il va falloir penser a designer un scene graph ou un truc du meme genre qui va définir ton monde et les transformations entre la caméra et les objets.
 
Pour voir a quoi ressemble un moteur de rendu "haut niveau" et pensé en terme de programmation objet va voir le source d'Orion 3d:  
http://cvs.sourceforge.net/cgi-bin [...] i/orion3d/
 
LeGreg

n°438271
blackgodde​ss
vive le troll !
Posté le 24-06-2003 à 17:14:54  profilanswer
 

g pas tout compris ?!?
 
un appel de fonction devient l'equivalent d'une boucle for ?


---------------
-( BlackGoddess )-
n°438279
weed
Posté le 24-06-2003 à 17:23:09  profilanswer
 

Code :
  1. glutPostRedisplay()

rappelle glutDisplayFunc(display) qui est un pointeur de fonction qui a son tour rappel la fonction redisplay
 
dc glutPostRedisplay() rappelle la fonction display dc l'equivalent d'une boucle for (;;) ou while (1) { }
   

Code :
  1. void display (void)
  2.    { 
  3.           //affichage des objets     
  4.           t.affiche(); //t s'affiche a l'ecran   
  5.          glutPostRedisplay();
  6.    }

 
   


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

  le destructeur est il executé a chaque boucle ?

 

Sujets relatifs
[ASP] server executefonction "execute"
gtk-1.2 : probleme dans une boucle gtk_events_pendingJavaScript, accéder à plusieurs objets via une boucle
[php]sortir du boucle whileComment fait -on une boucle en bash pour un script sous nunux
probleme avec une boucle[ASP] boucle for
Comment arréter une boucle dans une autre fonction...(+clair ci-dessou[C++] Pb de boucle for récalcitrante
Plus de sujets relatifs à : le destructeur est il executé a chaque boucle ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR