玩命加载中 . . .

学习之旅
08
27
43-模板化基类 43-模板化基类
学习处理模板化基类内的名称如果基类是个模板类,直接调用基类中的方法会不能编译 class A { public: void func() { cout << "class A" << en
2022-08-27
27
37-绝不重新定义缺省参数 37-绝不重新定义缺省参数
绝不重新定义继承而来的缺省参数值派生类在重写虚函数的时候,如果修改了缺省参数,实际运行的时候使用的还是基类的虚函数的缺省参数 class Shape { public: virtual void draw(int i =
2022-08-27
27
36-绝不重新定义非虚函数 36-绝不重新定义非虚函数
绝不重新定义继承而来的non-virtual函数非虚函数实行静态绑定,如果派生类重新定义了非虚函数,将会覆盖基类的版本 这样当基类的指针指向派生类对象时,调用的就是基类的版本,因为是静态绑定,所以调用哪个版本取决于指针的静态类型 class
2022-08-27
27
32-公有继承 32-公有继承
确定public继承塑模出is-a关系class Person {...}; class Student: public Person {...}; void eat(const Person&am
2022-08-27
27
04-初始化 04-初始化
确定对象被使用前已经初始化不同编译单元内定之non-local static对象的初始化次序是不确定的 广义的static对象包括: global对象 定义于namespace作用域内的对象 在class内、函数内、file作用域内声明为
2022-08-27
27
03-const代替#define 03-const代替#define
尽可能使用const代替#define有时候需要重载const版本与非const版本的成员函数,但他们的代码又很多重复所以可以直接用非const函数调用const函数 class Text { private: strin
2022-08-27
14
STL_1 STL_1
7 如果容器中包含了通过new操作创建的指针,切记在容器对象析构前将指针delete掉如果容器中存放指针,记得要在结束后释放指针的资源 class Foo {}; vector<Foo*> vf; for (int
2022-08-14
09
6-Z字形变换 6-Z字形变换
LeetCode 6. Z 字形变换将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下: P
2022-08-09
08
99-恢复二叉搜索树 99-恢复二叉搜索树
LeetCode 99. 恢复二叉搜索树给你二叉搜索树的根节点 root ,该树中的 恰好 两个节点的值被错误地交换。请在不改变其结构的情况下,恢复这棵树 。 示例 1: 输入:root = [1,3,null,null,2] 输出:[3
2022-08-08
08
538-把二叉搜索树转换为累加树 538-把二叉搜索树转换为累加树
538. 把二叉搜索树转换为累加树给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。 提醒一下,二叉搜索
2022-08-08
07
581-最短无序连续子数组 581-最短无序连续子数组
LeetCode 581. 最短无序连续子数组给你一个整数数组 nums ,你需要找出一个 连续子数组 ,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。 请你找出符合题意的 最短 子数组,并输出它的长度。 示例 1: 输入:n
2022-08-07
07
20-组合模式 20-组合模式
组合模式动机 客户代码过多地依赖于对象容器复杂的内部实现结构,对象容器内部实现结构(而非抽象结构)的变化会引起客户代码的频繁变化,带来了代码的维护性、扩展性等弊端 如何将客户代码与复杂的对象容器结构解耦?让对象容器自己来实现自身的复杂结构
2022-08-07
1 / 2