title: swap(int &a, int &b) and swap(int *a, int *b). What is difference?
body: <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>