je suis bloquée !, c'est du C++ |
Bienvenue invité ( Connexion | Inscription )
je suis bloquée !, c'est du C++ |
17 Aug 2004, 14:48
Message
#31
|
|
Moderating Daemon Groupe : Modérateurs Messages : 6 345 Inscrit : 22 Feb 2004 Lieu : Yvelines/Cambridge (GB), dans mon pantalon Membre no 15 207 |
QUOTE(chombier @ 15 Aug 2004, 22:49) QUOTE(SuperCed @ 13 Aug 2004, 16:01) Je suis un peu comme Schlum et Dulrich, j'aime bien le C, java, ou ObjectiveC, mais pas trop le C++. Je n'aime pas l'héritage multiples, surtout au moment des free... En fait, il faut faire du reference counting, comme en ObjectiveC, sauf qu'en C++, on doit implémenter son propre système de reference counting en tenant compte du fait que le code peut-être multithread par la suite. Donc ça implique des locks et ça complique encore. En ObjectiveC, tout est déjà fait. Java, c'est encore mieux, on laisse tout trainer en mémoire et on laisse faire l'interpréteur. Voilà pourquoi j'aime pas l'héritage multiple. j'ai bouffé du C++ pendant 10 ans, héritage multiple compris, et je n'ai jamais fait de 'reference counting' !? c'est quoi ça ? Tu ne confonds pas avec l'ObjC et son garbage collector ? Pas de garbage collector dans obj-c, du moins pas encore... le reference counting c'est le retain ou le release que tu vois dans du code objc. en gros un objet commence sa vie avec le compteur a 1. Un retain augmente le compteur de 1, le release le diminue. Quand le compteur atteint 0, l'objet est détruit. En gros tu n'as plus a t'occuper de savoir si un autre bout de code utilise encore l'objet, si veux le conserver tu fais en retain, quand tu en as plus besoin tu release. -------------------- G5 Bi 2GHz rev A, ATI X800 XT
Alu 17" rev A MacBook core duo 1.83 GHz |
|
|
17 Aug 2004, 16:58
Message
#32
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 6 580 Inscrit : 20 Mar 2003 Membre no 6 765 |
QUOTE(f_cam @ 17 Aug 2004, 14:48) Pas de garbage collector dans obj-c, du moins pas encore... le reference counting c'est le retain ou le release que tu vois dans du code objc. en gros un objet commence sa vie avec le compteur a 1. Un retain augmente le compteur de 1, le release le diminue. Quand le compteur atteint 0, l'objet est détruit. En gros tu n'as plus a t'occuper de savoir si un autre bout de code utilise encore l'objet, si veux le conserver tu fais en retain, quand tu en as plus besoin tu release. [right][snapback]812524[/snapback][/right] vivi, j'avais compris, il m'arrive aussi de coder en ObjC J'ai utilisé le terme 'garbage collector' par abus de langage, pour décrire un mecanisme qui désalloue tout seul les objets non utilisés. Mais ce mécanisme de retain/release est apparu sur le Mac pour Interface Builder/ObjC, on peut encore coder en C++ pour Carbon en ignorant totalement ces principes. -------------------- késtananafout' (:
|
|
|
17 Aug 2004, 17:17
Message
#33
|
|
Moderating Daemon Groupe : Modérateurs Messages : 6 345 Inscrit : 22 Feb 2004 Lieu : Yvelines/Cambridge (GB), dans mon pantalon Membre no 15 207 |
C'est quand même pratique, et on retrouve la même sémantique du côté dans beaucoup d'apis carbon.
-------------------- G5 Bi 2GHz rev A, ATI X800 XT
Alu 17" rev A MacBook core duo 1.83 GHz |
|
|
Nous sommes le : 26th April 2024 - 14:11 |