《程序员面试宝典》笔记一

一、this指针

  1. this是一个指针,时时刻刻指向实例本身,相当于静态成员函数的一个隐含参数,不占用对象的空间。
  2. this本质是一个函数参数,只是编译器隐藏起形式的,语法层面的参数。
  3. this只能在成员函数中使用。成员函数和静态函数都不能使用this。
  4. this在成员函数的开始前构造,在成员的结束后清除。(任何函数的参数都是如此)
  5. this指针的存放位置因编译器的不同而不同。(堆栈寄存器都有可能)
  6. this指针只有在成员函数中才有定义,可以通过&this获得this的位置。
  7. this是只读的。

二、递归

  1. 关注退出条件、参数、返回值

三、STL模板与容器

  1. STL和容器:STL是C++的标准模板库,基于模板的容器类库,包括链表、列表、队列和栈。还包含许多常用的排序和查找算法。容器是包容其他对象的对象。顺序容器提供对成员的顺序访问和随机访问,关联容器则经过优化关键值访问它们的元素。所有的标准模板库容器类都在namespace std中定义。
  2. 泛型编程:基于高效算法的最抽象表示的编程方法,以算法为起点并寻找能使其工作且有效率工作的最一般的必要条件集。

四、面向对象

  1. 封装包括class、namespace、package、module的封装。目的使增加代码的内聚性,提高复用性和维护性,还可以做到信息隐藏。
  2. C++的空类默认产生构造函数、析构函数、赋值构造函数和赋值函数
  3. struct的变量默认是public,class的变量默认是private
  4. 多态可以概括为一个接口多种方法,在程序运行的过程中才决定调用的函数。多态在C++中通过虚函数实现。
  5. 虚函数是允许被子类重新定义的成员函数。而子类重新定义父类虚函数的做法叫覆盖。
  6. 覆盖override是指子类重新定义父类的虚函数。派生类重写基类的虚函数,重写函数必须有一致的参数表和返回值
  7. 重载overload是允许多个同名函数,但是函数的参数表不同。编写一个与已有函数同名但是参数表不同的函数。
  8. C++继承机制:
  9. Java继承机制
发布了12 篇原创文章 · 获赞 24 · 访问量 1592

猜你喜欢

转载自blog.csdn.net/xd963625627/article/details/88353291
今日推荐