4.c/c++程序员面试宝典-引用
引用引入了对象的一个同义词,是c++对象的另一个名字,在实际程序中,引用的主要作用是作为函数的形式参数。
面试题54 什么是引用****
分析:引用就是c++对象的另一个名字。在实际程序中,引用主要用作函数的形式参数。引用是一种复合类型,它通过在变量名前添加“&”符号来定义。复合类型是指用其他类型定义的类型。在使用引用的情况下,每一种引用类型都关联到某一其他类型。c++不能定义引用类型的引用,但是可以定义任何其他类型的引用。
引用的示例程序如下:
int a=100;
int &refa=a; //&refa引用a
int &refa=b; //错误,引用必须初始化
int &refa=10; //错误,初始化必须为一个对象
【答案】引用是对象的另一个名字,在实际程序中,引用主要用作函数的形式参数来使用。
面试题55 如何使用const引用与非const引用**
分析:const引用是指向const对象的引用。const引用必须被定义为const类型,使用程序示例如下:
const int a=100;
const int &refa=1; //正确,引用和被引用都是const类型
int &refa2=a; //错误,引用不是const类型
非const引用的使用示例代码请参考面试题54的示例代码。
【答案】const引用可以读取但是不可以修改引用对象,任何对const引用进行赋值都是不合法的,它适用于指向const对象的引用,而非const的引用不适用于指向const对象的引用,可以修改引用和被引用对象的值。