2010-04-07 41 views

Respuesta

3

Si el mantenimiento de sus propios tipos de iterador se convierte en una carga para luego cambiar a impulsar. Están bien especificados y probados y es menos probable que tengan errores.

+0

Bien ... +1 ... pero ¿cómo? La fachada es solo una interfaz que define los operadores necesarios para usted en el iterador. –

+0

¿Puedes publicar uno de tus iteradores con la pregunta ¿cómo hago esto con boost? –

+0

Claro, hay un ejemplo que usa 'iterator_facade' en mi otra pregunta: http://stackoverflow.com/questions/2590310/can-i-use-boostmake-shared-with-a-private-constructor –

2

boost::iterator_facade realmente no reduce la "incidencia de errores". Simplemente simplifica el proceso de escritura de un iterador conforme estándar. Un iterador de conformación estándar de 100% todavía podría tener errores :) En cuanto a la otra pregunta:

vale la pena para tirar en este impulso cabecera

Sí, lo es, si usted está escribiendo iteradores de varias categorías a menudo. Este encabezado es bastante liviano, bueno hm, relativamente ligero, ya que cualquier cosa que extraigas de boost también trae el don de mpl y la biblioteca del preprocesador. He encontrado, sin embargo, que con VC9 o VC10 esto no es tan malo como solía ser en tiempos de compilación w.r.t ...

Cuestiones relacionadas