What are the differences between using array offsets vs pointer incrementation?
<p>Given 2 functions, which should be faster, if there is any difference at all? Assume that the input data is very large</p>

<pre><code>void iterate1(const char* pIn, int Size)
{
   for ( int offset = 0; offset &lt; Size; ++offset )
   {
      doSomething( pIn[offset] );
   }
}
</code></pre>

<p>vs </p>

<pre><code>void iterate2(const char* pIn, int Size)
{
   const char* pEnd = pIn+Size;
   while(pIn != pEnd)
   {
      doSomething( *pIn++ );
   }
}
</code></pre>

<p>Are there other issues to be considered with either approach?</p>
