形参和实参结合规则:形参为引用时,形参(引用)接收实参(对象)的地址。
或表述为:形参为引用时,凡遇到形参(引用)的地方,全部用实参(对象)来代替。
传递引用给函数与传递指针的效果相同。但是可读性比指针传递好(传值方式的调用与可读性,性能却强于传值方式),参数结合符合初始化标准,可使用引用传递从函数返回多个值(指针和引用都可以)。
代码例子:
引用和指针的关系:
指针是个变量,可再赋值; 而引用建立时必须进行初始化并且决不会再关联其它不同的变量。
指针操纵两个实体(指针值、指向的值);引用只能操纵一个实体。
引用在内部用指针实现 ,被看成是指针常量,不能操作自身的地址值,只能访问所指向的实体。
在语言层面,引用的用法和对象一样;在二进制层面,引用一般都是通过指针来实现的,只不过编译器帮我们完成了转换.
实际上“引用”可以做的任何事情“指针”也都能够做,为什么还要“引用”?
答案是“用适当的工具做恰如其分的工作”。
指针能够毫无约束地操作内存中的东西,尽管指针功能强大,但是非常危险。
引用是指针出于安全考虑的替代品。
在以下情况下你应该使用指针:
一是你考虑到存在不指向任何对象的可能(在这种情况下,你能够设置指针为空)
二是你需要能够在不同的时刻指向不同的对象(在这种情况下,你 改变指针的指向)。
如果总是指向一个对象并且一旦指向一个对象后就不会改变指向,那么你应该使用引用。