pointeurs intelligents Boost

pointeurs intelligents Boost - C++ - Programmation

Marsh Posté le 17-01-2009 à 14:54:03    

Bonjour,
 
J'ai découvert que récemment la notion de pointeur intelligent, notamment les pointeurs intelligents de Boost.
Je me demandais, comment c'est pointeur doivent-ils être utilisés ?
Doit-on proscrire les pointeurs en dur et n'utilisés que cela désormais? Sont-ils utiles seulement dans des cas précis ? n'engendre t-ils pas un surcout (code et temps) ?
 
Merci.


---------------
je connais tout, je ne sais rien, seule certitude, à vouloir trop on finit par tout perdre.
Reply

Marsh Posté le 17-01-2009 à 14:54:03   

Reply

Marsh Posté le 17-01-2009 à 15:04:28    

Personnelemnt, à part pour des trucs ras le kernel, je en manipule plus que des boost::ptr.
En terme de code, c'est pas plus long, au runtime, vu que c'est des templates et que la gestion est assez simple, pas de surcout enorme.

Reply

Marsh Posté le 17-01-2009 à 15:36:19    

et un std::vector de boost::shared_ptr par exemple, ça se passe bien, toute la désallocation est automatiquement gérée ?


---------------
je connais tout, je ne sais rien, seule certitude, à vouloir trop on finit par tout perdre.
Reply

Marsh Posté le 17-01-2009 à 15:38:40    

Joel F a écrit :

Personnelemnt, à part pour des trucs ras le kernel, je en manipule plus que des boost::ptr.
En terme de code, c'est pas plus long, au runtime, vu que c'est des templates et que la gestion est assez simple, pas de surcout enorme.


 
Par contre en terme de lisibilité du code :/


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 17-01-2009 à 16:01:20    

0x90 a écrit :


 
Par contre en terme de lisibilité du code :/


 
o_O guère hein. Je vois pas en quoi
shared_ptr<Foo> et plus moche que Foo*
 
Pour info :
http://www.boost.org/doc/libs/1_37 [...] iques.html
 
Pour les tableaux, y a une bibliothèque pointer_container qui gère les cas tordus

Reply

Marsh Posté le 17-01-2009 à 16:32:32    

Joel F a écrit :


o_O guère hein. Je vois pas en quoi
shared_ptr<Foo> et plus moche que Foo*


 
C'est plus long, on noie le code utile dans une soupe de syntaxe, à la longue ça devient chiant à lire je trouve [:spamafote]
 
(je nie pas l'intérêt de ces pointeurs hein, juste que dès que je décide de ne pas les utiliser, je respire, évidemment les memleaks tardent pas à venir [:spamafote] )


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 17-01-2009 à 16:40:03    

au final ça m'a l'air plus compliqué, que de juste faire ces new/delete soit même :/


---------------
je connais tout, je ne sais rien, seule certitude, à vouloir trop on finit par tout perdre.
Reply

Marsh Posté le 17-01-2009 à 17:03:48    

frenchtoucco a écrit :

au final ça m'a l'air plus compliqué, que de juste faire ces new/delete soit même :/


ouais a bientot quand tu chieleras sur un double free or corruption indebuggable :o

Reply

Marsh Posté le 17-01-2009 à 17:45:40    

:(


---------------
je connais tout, je ne sais rien, seule certitude, à vouloir trop on finit par tout perdre.
Reply

Marsh Posté le 17-01-2009 à 22:11:12    

lien qui compare la différence de perf entre raw pointeur et pointeurs intelligents : http://www.boost.org/doc/libs/1_37 [...] ttests.htm


---------------
je connais tout, je ne sais rien, seule certitude, à vouloir trop on finit par tout perdre.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed