Je cherche un exemple de code créant itérateur pour mon propre conteneur, mais je n'ai pas vraiment trouvé de bon exemple. Je sais que cela a été demandé auparavant ( Création de mes propres itérateurs ) mais je n'ai vu aucun Réponse satisfaisante avec des exemples. p>
Je cherche un code d'échantillon simple pour commencer à concevoir mon propre itérateur. P>
merci p>
4 Réponses :
ici Vous pouvez trouver une bonne intro pour créer des itérateurs personnalisés. Jetez un coup d'œil sur le Boost.iterator Bibliothèque. P>
Plus spécifiquement, l'itérateur_Adaptor est une chose de beauté. Avec seulement quelques lignes de code, vous vous retrouvez avec un itérateur complet.
itérator_facade code> est très utile aussi
J'ai trouvé Matthew's STL '' ''s STL' très em> éducatif sur le sujet. Contient beaucoup de choses à faire et à ne pas faire, ainsi que des tonnes de conseils de programmation pratiques. Je pense que ce gars sait vraiment ce qu'il fait. (bibliothèques créées pour cela aussi) p>
Nicolai Josuttis a un exemple d'itérateur défini par l'utilisateur dans son livre: la bibliothèque standard C ++, un didacticiel et une référence. P>
Voici l'exemple en ligne: P>
http://www.josuttis.com/libbook/iter/assoiter.hpp http://www.josuttis.com/libbook/iter/assoiter.cpppled/a > p>
Jetez un coup d'œil sur cet article qui explique comment implémenter un itérateur virtuel personnalisé pour vos classes: article p>
Il a un avantage significatif - vous pouvez créer une classe Itératrice abstraite de base et hériter de quelques itérateurs personnalisés pour vos propres conteneurs et peut-être pour certains conteneurs STL. Vous pourrez donc utiliser des itérateurs de manière dynamique - vos fonctions utiliseront un pointeur sur la classe Itérateur abstraite tandis que d'autres Code permettront de choisir quels conteneurs doivent être utilisés. P>