Section courante

A propos

Section administrative du site

TEMPLATE

Gabarit
ISO C++98

Syntaxe

declaration := template-decl | explicit-instantiation | explicit-specialization
template-decl ::= [export] template < template-parm-list > declaration
template-parm-list ::= template-parm | template-parm-list , template-parm
template-parm ::= type-parm | parm-decl
type-parm ::= class [identifier] [= type-id] | typename [identifier] [= type-id] |
template < template-parm-list > class [identifier] [= id-expr]
template-id ::= template-name < [template-arg-list] >
typename-name ::= identifier
template-arg-list ::= template-arg | template-arg-list , template-arg
template-arg ::= assignment-expr | type-id | id-expr
explicit-instantiation ::= template declaration
explicit-specialization ::= template < > declaration
elaborated-type-specifier := class-key [::] [nested-name ::] [template]
template-id | typename [::] nested-name :: [template] template-id
simple-type-specifier := [::] nested-name :: template template-id
postfix-expr := postfix-expr . [template] id-expr |
postfix-expr -> [template] id-expr
pseudo-dtor-name := [::] nested-name :: template template-id :: ~ class-name
nested-name := nested-name [:: template class-name]
qualified-id := [::] nested-name :: [template] unqualified-id

Paramètres

Nom Description
template-decl Ce paramètre permet d'indiquer la déclaration de gabarit
template-id Ce paramètre permet d'indiquer l'identificateur de gabarit.
template-parm-list Ce paramètre permet d'indiquer la liste des paramètres de gabarit.

Description

Ce mot réservé permet d'effectuer la déclaration d'un gabarit, d'une spécialisation de gabarit ou d'une instance de gabarit.

Exemple

Cet exemple permet de gabarit retournant la valeur maximal entre deux nombres :

Essayer maintenant !
  1. #include <iostream>
  2.  
  3. template<typename X> X max(const X &a, const X &b) {
  4.     return a > b ? a : b;
  5. }
  6.  
  7. int main()
  8. {
  9.     std::cout << "La plus grande valeur entre 28 et 23 = " << max(28,23) << std::endl;
  10.     return 0;
  11. }

on obtiendra le résultat suivant :

La plus grande valeur entre 28 et 23 = 28

Voir également

Langage de programmation - C++ - Références de mots réservés (mots clefs) - class

Dernière mise à jour : Lundi, le 3 août 2015