C++20 : la librairie std::ranges

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
122
Mois de parution
décembre 2022
Spécialité(s)


Résumé

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 :

using namespace std;
vector<double> tbl{ 1,8.2,4,-5,2,-9,3,9 };
// Avant
sort(tbl.begin(), tbl.end());
// Avec les ranges
ranges::sort(tbl);

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…

La suite est réservée aux abonnés. Il vous reste 94% à découvrir.
  • 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
Envie de lire la suite ? Rejoignez Connect
Je m'abonne maintenant


Article rédigé par

Par le(s) même(s) auteur(s)

JavaScript sur les navigateurs modernes

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
119
Mois de parution
avril 2022
Spécialité(s)
Résumé

Nombre de développeurs, qui doivent supporter des applications devant tourner sur des navigateurs un peu anciens, sont coincés dans le purgatoire d’Internet Explorer depuis des années. Avec la fin du support de nombreuses applications Microsoft, on peut espérer que la nécessité de le supporter dans vos applications va tomber, ce qui va vous ouvrir de nombreuses possibilités.

Les listes de lecture

9 article(s) - ajoutée le 01/07/2020
Vous désirez apprendre le langage Python, mais ne savez pas trop par où commencer ? Cette liste de lecture vous permettra de faire vos premiers pas en découvrant l'écosystème de Python et en écrivant de petits scripts.
11 article(s) - ajoutée le 01/07/2020
La base de tout programme effectuant une tâche un tant soit peu complexe est un algorithme, une méthode permettant de manipuler des données pour obtenir un résultat attendu. Dans cette liste, vous pourrez découvrir quelques spécimens d'algorithmes.
10 article(s) - ajoutée le 01/07/2020
À quoi bon se targuer de posséder des pétaoctets de données si l'on est incapable d'analyser ces dernières ? Cette liste vous aidera à "faire parler" vos données.
Plus de listes de lecture