2009-11-13 13 views

Respuesta

6

Here usted podría encontrar buena introducción para crear iteradores personalizados. También eche un vistazo en la biblioteca Boost.Iterator.

+0

Más específicamente, el iterator_adaptor es una belleza. Con solo unas pocas líneas de código, terminas con un iterador en toda regla. –

+0

'iterator_facade' es muy útil también – jalf

2

Encontré Matthew Wilson's 'extended STL'muy educativo sobre el tema. Contiene muchas cosas que se deben y no se deben hacer, además de toneladas de consejos de programación prácticos. Creo que este tipo realmente sabe lo que está haciendo. (También se crearon bibliotecas para eso)

0

echar un vistazo a este artículo que describe cómo implementar un iterador virtual personalizado para sus clases: article

Tiene una ventaja significativa - puede crear una clase iterativa base abstracta y heredarla con algunos iteradores personalizados para sus propios contenedores y tal vez para algunos contenedores STL. Por lo tanto, podrá usar iteradores dinámicamente: sus funciones utilizarán un puntero a la clase abstracta del iterador, mientras que otros códigos podrán elegir qué contenedores se deben usar.

Cuestiones relacionadas