Matrix template
Fermé
Nkunzis
-
6 mars 2006 à 02:14
mamiemando Messages postés 32302 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 28 mars 2023 - 6 mars 2006 à 23:07
mamiemando Messages postés 32302 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 28 mars 2023 - 6 mars 2006 à 23:07
A voir également:
- Matrix template
- Ecran de veille matrix ✓ - Forum Graphisme
- Intel matrix storage manager - Télécharger - Pilotes & Matériel
- Template qui veut gagner des millions - Forum Powerpoint
- Template calendrier excel - Télécharger - Bureautique
- Template typename t - Astuces et Solutions
1 réponse
mamiemando
Messages postés
32302
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
28 mars 2023
7 576
6 mars 2006 à 23:07
6 mars 2006 à 23:07
Je pense que ça devrait t'interesser :
http://www.commentcamarche.net/forum/affich-1907231-produit-matriciel-en-c
Si tu as des questions n'hésite pas à repasser. Mais grosso modo le concept des template c'est passer un ou plusieurs types en paramètres avec des < ... >. A la compilation, chaque fois qu'une fonction template est appelée avec un (des) types non rencontrés jusqu'ici, on compile la fonction.
C'est pour ça que :
- les fonctions template peuvent engendrer des codes longs à compiler, puisqu'on compile la fonction pour chaque type utilisé
- le code des fonctions template est dans le .hpp car on ne sait a priori pas pour quel type la fonction va être compilée. Il faut que toutes les fonctions templates soient dans le .hpp sinon ça ne marchera pas.
Toujours pour des raisons de compilation, si tu utilises un membre d'une structure avec un paramètre que tu as mis template. Par exemple
http://www.commentcamarche.net/forum/affich-1907231-produit-matriciel-en-c
Si tu as des questions n'hésite pas à repasser. Mais grosso modo le concept des template c'est passer un ou plusieurs types en paramètres avec des < ... >. A la compilation, chaque fois qu'une fonction template est appelée avec un (des) types non rencontrés jusqu'ici, on compile la fonction.
C'est pour ça que :
- les fonctions template peuvent engendrer des codes longs à compiler, puisqu'on compile la fonction pour chaque type utilisé
- le code des fonctions template est dans le .hpp car on ne sait a priori pas pour quel type la fonction va être compilée. Il faut que toutes les fonctions templates soient dans le .hpp sinon ça ne marchera pas.
Toujours pour des raisons de compilation, si tu utilises un membre d'une structure avec un paramètre que tu as mis template. Par exemple
#include <vector>
template <class T,class U>
class plop{
public:
int i;
std::vector<T> x;
plop(){
typename std::vector<T>::iterator z;
}
//...
};
int main(){
plop<int,float> p;
return 0;
}