Bonjour,

Je me posais une question : j'utilise pas mal les traits dans le code que je fais.
Quand on regarde l'implémentation de Visual 2005 de la STL, on voit que les iterator_traits sont surchargés sur les const T * et T*, naturellement.

Mais pourquoi font ils des surcharges sur des types comme char, signed char, unsigned char, wchar_t, short, unsigned short, int

avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
	typedef _Int_iterator_tag iterator_category;
	typedef unsigned int value_type;
	typedef unsigned int difference_type;
	typedef unsigned int distance_type;	
	typedef unsigned int * pointer;
	typedef unsigned int& reference;
J'utilise souvent les dérivations de std::iterator<> avec les tags qui vont bien, mais le tag _Int_iterator_tag par exemple, connais pas.

Quelle est l'utilité ?

Sylvain