使用场合:流操作符<<和>>、赋值操作符=的返回值、拷贝构造函数的参数、赋值操作符=的参数、其他必要情况,都推荐使用引用。

1. 引用和指针的区别
    指针通过某个指针变量指向一个对象后,对它所指向的变量进行进行间接操作。程序中使用指针,程序的可读性差。而引用本身就是目标变量的别名,对引用的操作就是对目标变量的操作。使用引用传递函数的参数,在内存中别没有产生实参的副本,它是直接对实参进行操作。而使用指针作为函数的参数,在被调函数中要给形参分配存储单元,且需要重复使用“*指针变量名”的形式进行运算,这很容易产生错误,且程序的阅读性差;另一方面,在主调函数的调用处,必须用变量的地址作为实参。而引用更容易使用,更清晰。
2.引用和多态的关系
    引用是除指针外另一个可以产生多态效果的手段。这意味着,一个基类的引用可以指向它的派生类实例。
3.什么时候需要使用常引用
   格式:const 类型标识符 &引用名 = 目标变量名
   如果既要引用提高程序的效率,又要保护传递给函数的数据不在函数中被改变,就应使用常引用。