IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

LES TEMPLATES VARIADIQUES, UN NOUVEL OUTIL DE PROGRAMMATION GÉNÉRIQUE


précédentsommairesuivant

I. Introduction

Le C++ a été l'un des premiers langages à offrir un support pour la programmation générique, grâce à l'introduction des templates. C'est ce qui a déterminé Alexander Stepanov, le père de la programmation générique, à écrire la standard template library (STL), qui constitue encore aujourd'hui l'essentiel de la bibliothèque standard du C++ et l'exemple le plus achevé de généricité.

Cet article n'a pas pour but de présenter la programmation générique. Pour ceux qui souhaiteraient s'initier ou approfondir la question, je conseille la lecture d'une interview d'Alexander Stepanov qui en présente les concepts et les perspectives. L'idée maîtresse est de ne pas programmer pour des types (int, float, MaClasse, MonInterface), mais pour des propriétés de type, ou concepts, afin de proposer des algorithmes et des conteneurs qui soient à la fois efficaces et généraux.

Le C++ est resté le refuge de la programmation générique quand la plupart des langages des années 1990-2000 ont choisi de rester dans les frontières de l'orienté objet. Des programmeurs de génie, comme Andrei Alexandrescu, ont repoussé les limites de ce qui paraissait possible avec la syntaxe du langage : les techniques qu'ils employaient étaient cependant si pointues qu'elles étaient de fait réservées à une petite minorité de programmeurs. Les Typelists dont Alexei Alexandrescu explique l'implémentation dans Modern C++ design sont ainsi les ancêtres des templates variadiques.

Le nouveau standard du C++ (C++11/14) a cherché à améliorer encore le support du langage pour la généricité, afin de rendre l'accès à certaines possibilités beaucoup plus large. Les templates variadiques font partie de ces nouveautés. Cet article cherche à les présenter en profondeur, de leur syntaxe à des utilisations avancées.


précédentsommairesuivant

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2016 Stendhal. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.