classe de traits et conteneurs
	
	
		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:
	Code:
	
| 12
 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;
} | 
 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?
Merci d'avance!!