Bonjour, j'etudie c++ depuis un certain temps, et les template est la partie qui m'est la plus floue.
L'utilite prend sont sens certainement pour implementer des class pour manipuler des collections d'objets, genre Vector, Map, ou encore des smart pointer, mais je me demande quelle utilite cela peut avoir dans des contextes plus precis, comme l'appel d'une methode d'un type generique genre:
Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 template <class T*> void uneAction() { T->MethodeDuTypeInconnu(); }
Le type etant generique, j'immagine qu'il n'est pas possible d'appeler aucune methode ou alors il faudrait rendre le template utilisable pour une famille d'objet specifique pour appeller une methode commune a la famille, mais pour cela on a deja les pointeurs de classes de base virtuelles qui permetent le polymorphisme. En outre j'ai lu quelques articles sur la metaprogrammation avec les templates, et si j'ai bien compris, ca sert a combiner generiquement des comportement commun entre des objet different (rien qu'a me lire je sens que je recrache ce que j'ai ingurgite tout en restant sceptique)
Donc je ne suis pas certain d'avoir compris, en fait je dirais meme que je suis certain de ne pas avoir compris, mais le seul interet des fonctions template que j'ai compris, se resume a manipuler des collections.
Voila, merci de me faire partager vos savoirs
Partager