2010-04-07 1 views

Répondre

3

Si le maintien de vos propres types de iterator devient un fardeau puis passer à augmenter. Ils sont bien spécifiés et testés et moins susceptibles d'avoir des bugs.

+0

OK .. +1 ... mais comment? La façade est juste une interface qui définit les opérateurs nécessaires pour vous sur l'itérateur. –

+0

Pouvez-vous envoyer un de vos itérateurs avec la question comment puis-je le fais avec coup de pouce? –

+0

Bien sûr, il y a un exemple utilisant 'iterator_facade' dans mon autre question: http://stackoverflow.com/questions/2590310/can-i-use-boostmake-shared-with-a-private-constructor –

2

boost::iterator_facade ne réduit pas vraiment "l'incidence des bogues". Cela simplifie simplement le processus d'écriture d'un itérateur conforme standard. Une norme conformationnelle iterator 100% pourrait encore avoir des bugs :) En ce qui concerne l'autre question:

il vaut la peine de tirer dans ce coup de pouce tête

Oui, il est, si vous écrivez itérateurs de diverses catégories souvent. Cet en-tête est assez léger, bien hm, relativement léger, puisque tout ce que vous retirez de boost apporte aussi le don de mpl et de la bibliothèque du préprocesseur. J'ai trouvé, cependant, que, avec VC9 ou VC10, ce n'est pas aussi mauvais que c'était le temps de compilation ...