title: Using c++ typedef/using type alias
body: <p>I am reading C++ primer book and completely don't understand one line:</p>
  
  <pre><code> using int_array = int[4]; 
   typedef int int_array[4]; // This line
   for (int_array *p = ia; p != ia + 3; ++p) {
        for (int *q = *p; q != *p + 4; ++q)
            cout &lt;&lt; *q &lt;&lt; ' '; cout &lt;&lt; endl;
   }
  </code></pre>
  
  <p>Ok <code>typedef</code> is same as <code>using</code>. Does it mean <code>int[4][4]</code> is now <code>int</code> and how to understand that? And what type is <code>int_array</code> in <code>for</code> loop?</p>
  
  <p>Thanks </p>