swap(int &a, int &b) and swap(int *a, int *b). What is difference?
<pre><code>void swap(int *a, int *b)
{
    int iTemp ;
    iTemp = *a;
    *a = *b;
    *b = iTemp;

}
void swap2(int &amp;a, int &amp;b)
{
    int iTemp;
    iTemp = a;
    a = b;
    b = iTemp;
}
</code></pre>

<p>What are the difference between <code>swap2(&amp;a, &amp;b)</code> and <code>swap(*a,*b)</code>. Although, final result is the same. </p>