20200401_什么是引用
一、相关术语
- 引用
C++引进的新概念,和指针有相同之处。
二、笔试题
1、请写出函数执行结果(微软)。
int fun(x) { int countx=0; while(x) { countx++; x=x&(x-1); } return countx; }
假定x=9999,输出多少?
答:将x转换为二进制,查1的个数。9999=(0010 0111 0000 1111),答案为8。
2、什么是引用?与指针有何区别?
答:引用是已定义变量的【别名】。——《C++ Primer PLUS》原话。与指针的区别:
a.引用是一个别名,不占用内存空间。指针是一个地址,需要内存分配空间。
b.初始化引用必须声明。指针可以为空指针。
c.不能建立数组的引用。指针可以指向数组。
(待补充)
3、将引用做为函数参数有哪些特点?
答:和传值不同,不需要内存拷贝一个副本。比指针好的地方在于,它不占用内存空间。
知识扩展
按位与操作,相同的1为1,相同的0为0,不同为0。
本文归类
建议归类到【C++】。
明日计划
1、什么情况下需要使用常引用?
2、将引用作为函数返回值类型的格式、好处和需要遵守的规则?
3、引用与多态的关系。
参考文献:
《C++笔试面试宝典2011版.docx》
《C++ Primer Plus》,第255页,第8章,函数探幽,8.2节,引用变量。
深入剖析多态
今日收藏:
无。