这样修改后,pReceiver为指针类型变量,先赋值为成功列表的地址,再赋值为失败列表的地址,这两次赋值操作都是对pReceiver的操作,只修改指针变量pReceiver的值,而不会修改成功列表或失败列表的值,实现了这段代码的原意图。
4 经验总结:预防措施和规范建议
在开发过程中,经常会出现引用类型使用错误的情况,在MMSG项目中就出现了两次,严重时还会引起系统core,因此,如何使用好引用类型应该引起大家注意。
用错引用类型,关键是对引用的认识模糊。下面几句话可以帮助理解什么是引用:
引用,又可称为"别名"。通过引用,我们可以间接地操作对象。
引用在定义时必须被初始化,并且,一旦被定义就不能再指向其他对象。
引用的所有操作实际上都作用在它指向的对象(即初始化时被赋的对象)身上,包括取地址操作符。
5 备注
6 考核点
引用类型
7 试题
请选择下面程序输出结果:B
void main()
{
int i = 3, j =4;
int &r = i;
r = j;
r = 5;
printf("%d, %d, %d\n", i, j, r);
}
A. 3, 4, 5
B. 5, 4, 5
C. 4, 5, 5
D. 5, 5, 5
阅读(213) | 评论(0) | 转发(0) |