20200401_什么是引用

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节,引用变量。
深入剖析多态

今日收藏:

无。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章