Les patrons variables du C++11 : 2 – Idiomes courants

Magazine
Marque
GNU/Linux Magazine
Numéro
160
Mois de parution
mai 2013
Domaines


Résumé
Le premier article de cette petite série s'était attaché à définir ce que sont les patrons variables du langage C++, tels que définis dans le dernier standard du langage sorti fin 2011. Nous allons maintenant voir quelques techniques usuelles lorsque l'on se trouve à devoir manipuler des paquets de paramètres de patrons.

La dernière fois, nous avions terminé sur une possibilité pour obtenir une sorte de parcours des éléments d'un paquet, en les envoyant un à un à une fonction. Toutefois, la solution n'était pas satisfaisante, car elle pouvait nécessiter la définition d'un intermédiaire artificiel. Heureusement, d'autres solutions existent, qui ne sont pas sans rappeler les techniques habituellement mises en œuvre dans les langages fonctionnels comme Erlang ou Haskell pour parcourir les éléments d'une liste.

1 Extraction du premier élément

Procédons par étapes. Dans un premier temps, étant donné un paquet de paramètres (de valeurs pour commencer), l'objectif est d'en extraire le premier élément. Supposons un patron variable de classe comme celui-ci, dont le nom sera justifié un peu plus loin :

template<int... INTS>

struct Sum;

Déclarons maintenant une spécialisation de ce patron :

template<int HEAD, int... TAIL>

struct Sum<HEAD, TAIL...>

{

  static constexpr int value = HEAD;

};

Toute la...

Cet article est réservé aux abonnés. Il vous reste 95% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Python « moderne » : comment coder en Python en 2020 ?

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
110
Mois de parution
septembre 2020
Domaines
Résumé

Le langage Python évolue progressivement, version après version et de nouvelles fonctionnalités voient le jour et changent la manière dont le langage peut être appréhendé.Au-delà de la curiosité que ces changements provoquent, ils sont des révolutions silencieuses ayant un impact réel sur le style de codage.

Les outils pour les développeurs Python

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
110
Mois de parution
septembre 2020
Domaines
Résumé

Pouvoir déboguer son code en toutes circonstances, le tester à chaque amélioration, suivre son utilisation et son bon fonctionnement et être capable d’en optimiser les points faibles.Ce sont des enjeux importants que tous les développeurs connaissent. Voici les outils pour y parvenir.