Depuis sa création, la STL s’appuie sur le concept d’itérateurs pour manipuler les conteneurs, et depuis sa création, de nombreuses voix s’élèvent pour dire que ce n’est pas pratique. Cette nouvelle librairie est la réponse à cette longue complainte.
La librairie ranges, est directement inspirée de la librairie Range-v3 d’Éric Niebler qui est disponible ici [range-v3] pour C++14.
La motivation de l’introduction de cette librairie est de rendre plus pratique l’utilisation des conteneurs et des algorithmes de la STL.
L’exemple classique pour illustrer cette amélioration est l’appel à l’algorithme de tri sort :
Avant, il fallait désigner un conteneur par son itérateur de début et sa fin, maintenant on transmet juste le conteneur.
À l’heure de l’écriture de cet article, cette librairie n’est disponible que dans les dernières versions de Visual Studio. L’implémentation pour les autres compilateurs ne devrait pas tarder et sera peut-être terminée à l’heure où vous lirez ces lignes.
1. Définitions et principes
Nous avons vu...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première