Stringifying argumentos de la plantilla

¿Es posible en C ++ alinear los argumentos de la plantilla? Intenté esto:

#define STRINGIFY(x) #x

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

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

Pero lo que obtengo es una 'T', y no una 'int'. Parece que los preprocesadores se activan antes de la resolución de la plantilla.

Hay alguna otra manera de hacer esto?

¿Hay alguna manera de que el preprocesamiento tenga lugar después de la resolución de la plantilla? (El compilador es VC ++).

Respuestas a la pregunta(8)

Su respuesta a la pregunta