•
引用
就是一个别名,是一个对象的替换名称,被引用的对象叫引用物。别名(引用)和引用物是不能分开的。
引用仅仅(或者说必须)在初始化时和引用物连接起来。引用就是它的引用物(不是引用物的拷贝也不是引用物的指针)。引用经常被用来传递参数。当函数通过引用接收参数时,通过连接到由调用程序提供的实际变量使引用初始化。
• 引用和指针比较:引用不是伪装的指针。创建指针就是创建一个新的对象,而且有自己的一套操作。而引用不会创建新的对象,引用的操作和语义由引用物来定义,没有自己的操作。有些任务,引用和指针都能胜任,但一般引用要好于指针。
简单的例子:
int i = 5;
int &j = i;
int *p = &i; // int *p; p = &i;
j = 0; // 改变i
p = 0; // 改变p, 但不改变i
引用不是一种独立的数据类型,必须在指定其代表某一类型的实体(如变量、类对象),不能定义引用数组,不能定义指向引用的指针!