title: What is difference between template <typename T> and template <class T>. For me both are generating the same result
body: <p>What is difference between <code>template &lt;typename T&gt;</code>  and <code>template &lt;class T&gt;</code>.
  For me both are generating the same result.</p>
  
  <p>for example</p>
  
  <pre><code>template &lt;class T&gt;
  T Average(T *atArray, int nNumValues)
  {
      T tSum = 0;
      for (int nCount=0; nCount &lt; nNumValues; nCount++)
          tSum += atArray[nCount];
  
      tSum /= nNumValues;
      return tSum;
  }
  </code></pre>
  
  <p>if I change it to  <code>template &lt;typename T&gt;</code> it's the same</p>