Bonjour,
J'ai une petite interrogation à propos des classes de traits lorsque l'on développe des conteneurs génériques (tels que STL ou boost). Prenons l'exemple suivant:
D'après ce que j'ai compris c'est la seconde définition qui doit être utilisée, pourtant les tests que j'ai réalisés fonctionnent tout aussi bien avec la première. Pourquoi dois-je alors faire intervenir une classe de traits?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 template<class T> struct A { T value; typedef T type; }; template<class Conteneur> struc Traits { typedef Conteneur::type type; }; template<class Conteneur> void maFonction(Conteneur c) { //def 1 Conteneur::type a; //def2 Traits<Conteneur>::type b; }
Merci d'avance!!
Partager