《剑指offer》——(一)

面试的3个环节:行为面试、技术面试、面试者提问。

行为面试:项目介绍——项目背景、自己完成的任务、怎么做的、自己的贡献。

              自己掌握的技能的介绍。

技术面试:基础知识,高质量的代码、清晰的思路、优化效率的能力、优秀的综合能力。

应聘者提问环节。

1.如果写的函数需要传入一个指针,是否要为该指针加上const,把const加在不同的位置是否有区别?传入值和传入引用参数有什么区别,什么时候要为传入的引用参数加上const?

(1)const int * ptr;   int const * ptr;     //都是表示该指针指向了一个常量。

  int * const ptr;   //表示该指针为常指针,其初始化之后不允许再改变其值。

  const int * const cicptr ;  //指向常数的常指针。

(2)int num=20;   const int array_size=10;

      int* pnum=#   const int * cpum=#     //const int *指针可以采int * 指针直接初始化

     const int * csize=&array_size;     //const型数据只能采用指向const的指针来指向

(3)非const引用只能绑定到该引用的同类型的非const对象,而const引用能够绑定到任意一种对象上(const型,非const型,甚至不同类型)。

double dum=10.1; const int &dd=dum;

在不改变传进来的参数的时候就加上const限定,比如类里面的复制构造函数。引用参数可以节省时间,避免复制。

原文地址:https://www.cnblogs.com/wy1290939507/p/4547835.html