C++笔记
网络编程
- socket编程,网络框架
- IO多路复用: select/poll/epoll
- 算法题:深度优先搜索、动态规划
- 深度优先搜索先画:递归树
- 二叉树
- 二叉树:节点度在0-2之间
- 二叉搜索树:中序遍历的时候树结构是有序的,容易退化成单链表,所以需要平衡二叉树
- 栈的标记法,用空指针做标记
- 递归和人类思考问题的顺序是一致的;迭代是逆序的
迭代:
- 重点1: 需要标记根节点
- 重点2:遍历顺序是逆序的方式入栈 整个问题的解 可以拆分成子问题的类似解 有递归和动态规划两种方式 动态规划: 子问题的解有重叠
- C++创建指针时,需要分配内存(malloc),否则创建出来的是空指针
杂记
- 如果类中包含这样的静态数据成员,即其值将在新对象被创建时发生变化,则应该提供一个显式复制构造函数来处理计数问题;如果类中包含了使用new初始化的指针成员,应当定义一个复制构造函数,以复制指向的数据,而不是指针,这被称为深度复制。复制的另一种形式(成员复制或浅复制)只是复制指针值。浅复制仅浅浅地复制 指针信息,而不会深入“挖掘”以复制指针引用的结构。