title: C++ 'typedef' vs. 'using ... = ...'
body: <blockquote>
    <p><strong>Possible Duplicate:</strong><br>
    <a href="https://stackoverflow.com/questions/10747810/what-is-the-difference-between-typedef-and-using-in-c11">What are the differences between typedef and using in C++11?</a>  </p>
  </blockquote>
  
  
  
  <p>The following code compiles and runs. My question is what is the difference between the "typedef" and "using" method for renaming the template specialization? </p>
  
  <pre><code>template&lt;typename T&gt;
  struct myTempl{
      T val;
  };
  
  int main (int, char const *[])
  {
      using templ_i = myTempl&lt;int&gt;;
      templ_i i;
      i.val=4;
  
      typedef myTempl&lt;float&gt; templ_f;
      templ_f f;
      f.val=5.3;
  
      return 0;
  }
  </code></pre>
  
  <h2>Edit:</h2>
  
  <p>If there is no difference, which one would you prefer? / Why was the using ... = ... version introduced?</p>