syntaxe template spécialisation
Bonjour,
en me balladant dans du code boost, je suis tombé sur cette syntaxe :
Code:
1 2 3 4 5 6
|
template< typename T, std::size_t sz >
struct range_const_iterator< T[sz] >
{
typedef const T* type;
}; |
j'étais habitué à voir soit :
Code:
1 2 3 4 5 6
|
template< typename T, std::size_t sz >
struct range_const_iterator
{
typedef const T* type;
}; |
soit ça :
Code:
1 2 3 4 5 6
|
template< >
struct range_const_iterator< T[sz] > //hummm.. finalement me parait pas terrible :)
{
typedef const T* type;
}; |
A y réfléchir, on essaye ici de spécialiser les deux paramètres "en même temps"... sans doute dû à ça
Une explication plus fiable ?
merci