Sequenciando Argumentos do Modelo

É possível em C ++ para restringir argumentos de modelo? Eu tentei isso:

#define STRINGIFY(x) #x

template <typename T>
struct Stringify
{
     Stringify()
     {
          cout<<STRINGIFY(T)<<endl;
     }
};

int main() 
{
     Stringify<int> s;
}

Mas o que eu recebo é um 'T', e não um 'int'. Parece que os pré-processadores entram em ação antes da resolução do modelo.

Existe alguma outra maneira de fazer isso?

Existe alguma maneira para o pré-processamento ocorrer após a resolução do modelo? (Compiler é VC ++).

questionAnswers(8)

yourAnswerToTheQuestion