关于C++形参的有关问题

关于C++形参的问题

  大侠们好,小弟刚开始学习C++。
  我不懂的是自定义函数声明的时候,我常遇到:

--某函数名(int *,int *)
  或者
--某函数名(int &,int &)

还有我不明白的是:swap()函数一个标准库中原有的函数,为什么好多书中都搞自定义呢,就是自己在重新定义一次?

这一类的写法,请博主帮我解答一下吧!

------解决方案--------------------
问题1:

传变量的地址, 或者传变量的引用都可以修改原变量.

问题2:

因为书是为了教你某个知识点, 它不会考虑标准库里已经有swap了。
再者,sawp是藏在namespace std里的,你不using namespace std;也不会与自己定义的同名同参函数重定义。
------解决方案--------------------
问题1:
int *是传地址,int&传引用。
这两种传值方式,都会使得传进来的实参允许被修改。
我觉得传地址相当于在函数中声明了一个指针变量,然后将实参的地址赋值给这个指针。
而传引用只用给原本的实参换了个名字。
------解决方案--------------------
swap()又不难写,3句话而已。
而且很多时候用swap()函数,效率会很低,因为swap()傻乎乎每次都要做3个赋值操作,而自己写的话,不会每次都要3个赋值。
比如3个变量依次交换,或者更多变量依次交换(排序当中很常见),不可能去用swap()函数的