程序员面试的得考题(一):C++中援和指针的区分无标题文章

面试是程序员招聘过程被之最好要紧之一个环,往往可操纵求职最后的功成名就也,而面试由于时间,环境相当方面的范围,不可能像笔试一样要求应聘者一字一句的解答题目或者编写代码,更多之是经某些重大知识考试应聘者在某个同技术可行性要世界方面的核心素养。因此,程序员的面试题目大多还负有特别强之概括性和基础性。我们研究了重重IT企业程序员面试经典题目,从中归纳出有些几乎必考的情。

面试必考题之一:

要说生C++中援和指针的区分。(华为、腾讯、阿里当)

参考答案:

(1)当引用被创造时,它要被初始化。而指针则好当另外时刻给初始化。

(2)一旦一个援被初始化为对一个靶,它便未能够于改啊对另外一个目标的援。而指针则足以于其它时刻对任何一个对象。

(3)不可能产生NULL引用。必须管引用是与均等片合法的存储单元关联。

尤为分析:

指南针和援都是C++中的核心语法成份,它们既是来牵连,也来不同之处。

它们都是地点的定义,其中指针指为平等块内存,它的情节是所据内存的地点;而引用是某块内存的号,具体来说,指针是一个变量的地方,引用是一个变量的号。

可其的不同之处也酷肯定,体现于偏下方面:

指南针是一个实体,而引用仅是各自名;

引用得叫初始化,指针不必;

引用只能在概念时叫初始化一次于,之后不可变;指针可以改所倚的目标;

可以起const指针,但是没有const引用;

莫有对空值的援,但是有对空值的指针,即引用不可知也空,指针可以为空;

“sizeof 引用”得到的凡所针对的变量(对象)的轻重,而“sizeof
指针”得到的凡指针本身(所指向的变量或对象的地点)的轻重缓急;

指南针和援的自增(++)运算意义不相同;

程序吗指针变量分配内存区域,而引用不欲分配内存区域;

指南针可以起差不多层,但是引用只能是一级,例如int **p是合法的,而 int
&&a是未合法的;

指南针和援作为函数参数进行传递时为差。用指针传递参数,可以兑现对实参进行变更的目的;在用引用作为函数参数进行传递时,实质上传递的凡实参本身,而未是实参的一个正片,因此对形参的修改其实是对准实参的改动。