title: Stringify template arguments
body: <p>Is it possible in C++ to stringify template arguments?
  I tried this:</p>
  <pre><code>#include &lt;iostream&gt;
  #define STRINGIFY(x) #x
   
  template &lt;typename T&gt;
  struct Stringify
  {
       Stringify()
       {
            std::cout &lt;&lt; STRINGIFY(T) &lt;&lt; endl;
       }
  };
   
  int main() 
  {
       Stringify&lt;int&gt; s;
  }
  </code></pre>
  <p>But what I get is a <code>T</code>, and not an <code>int</code>. Seems that the preprocessor macros are evaluated before template instantiation.</p>
  <p>Is there any other way to do this?</p>
  <p>Is there any way for the preprocessing to take place after template instantiation? (Compiler is VC++).</p>