Les patrons variables du C++11 :1 – Définitions et syntaxes

Magazine
Marque
GNU/Linux Magazine
Numéro
159
Mois de parution
avril 2013
Spécialité(s)


Résumé
La dernière version du standard ISO décrivant le langage C++, sortie l'année dernière, a introduit la notion de patrons variables (variadic templates en anglais). Bien que n'occupant que peu de place dans le texte du standard, cette notion ouvre des perspectives immenses pour les programmeurs C++.

Si vous avez codé en langage C sur des projets suffisamment importants, il est probable que vous ayez ressenti plus d'une fois le besoin de disposer d'une fonction pouvant recevoir un nombre variable d'arguments, dans le style des fonctions standards de la famille de printf(). Ce qui induit d'avoir recours aux macros comme va_start() ou va_arg() pour obtenir les paramètres effectivement passés, pratique généralement considérée comme délicate et source infinie de problèmes divers, entre autres du fait du laxisme relatif du langage C vis-à-vis des types de données.

Si vous avez plutôt pratiqué le C++, la surcharge permet le plus souvent de se passer de ce genre de techniques, avec le bénéfice non négligeable d'avoir une information beaucoup plus complète et fiable sur les types des paramètres. Par ailleurs, le C++ est un langage à tiroirs : la simple existence des patrons (templates) induit tout un ensemble de possibilités conduisant à une véritable...

Cet article est réservé aux abonnés. Il vous reste 96% à découvrir.
S'abonner à Connect
  • 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
Je m'abonne


Article rédigé par

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous