一、设计模式分类: 按照目的来分,设计模式可以分为创建型模式、结构型模式和行为型模式。(分类如下表) 创建型模式用来处理对象的创建过程; 结构型模式用来处理类或者对象的...

一、设计模式分类: 按照目的来分,设计模式可以分为创建型模式、结构型模式和行为型模式。(分类如下表) 创建型模式用来处理对象的创建过程; 结构型模式用来处理类或者对象的...
状态模式 一、描述 概念:允许一个对象在其内部状态改变时改变它的行为。 对象看起来似乎修改了它的类。 问题: 每个人、事物在不同的状态下会有不同表现(动作),而一个状态又会在...
Composite 模式 一、描述 概念:将对象组合成树形结构以表示“部分-整体”的层次结构。 Composite使得用户对单个对象和组合的使用具有一致性。 Composit...
Factory Method(工厂方法) 1 应用场景 在软件系统中,经常面临着创建对象的工作;由于需求的变化,需要创建的对象的具体类型经常变化。 2 定义与解释 定义一个用...
一、8个重要的设计原则 ①依赖倒置原则(DIP) 高层模块(稳定)不应该依赖底层模块(变化),二者都应该依赖于抽象(稳定);抽象不应该依赖于实现细节,实现细节应该依赖抽象。 ...
1.一个万用的hash function 在之前的课程中,我们知道以Hash Table为底层的容器过程(如unordered_map),在使用过程中,必须要有一个hash ...
1.C++标准库的算法,是什么东西? 从语言的层面讲,STL的算法都长下面两个样子: template Algorithm(Iterator itr1, Iterator i...
1 STL组建(STL Components) 关键组建:容器,迭代器,算法 STL的基本观念就是将数据和操作分离,数据由容器类加以管理,操作则由可定制的算法定义之, 迭代器...
c++stack(堆栈)是一个容器的改编,它实现了一个先进后出的数据结构(FILO) 使用该容器时需要包含#include头文件; 定义stack对象的示例代码如下: sta...
各容器测试(使用方法类似,需要根据上图结构,来选择不同场景使用(可根据容器名查询使用方法)): 使用容器array: 内存连续 使用容器vector: 内存连续,扩大需要移动...
1.源代码分布 标准库STL的文件位置,与所采用的编译器有关: (1)Visual C++:...\include (例如 D:\Program Files (x86)\Mi...
对象模型 vptr虚函数指针 若类对象中含有虚函数,则在对象模型中会存在一根虚函数指针 vtbl虚函数表 虚函数指针指向一块内存,称为虚表 虚表的内容是一段地址,指向该类对象...
一、虚函数表 对C++ 虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的。 简称为V-Table。 在这个表中,主是要一个类...
一、基本概念 1、类的继承,是新的类从已有类那里得到已有的特性。 或从已有类产生新类的过程就是类的派生。 原有的类称为基类或父类,产生的新类称为派生类或子类。 2、派生类的声...
带指针类设 带指针类必须含有拷贝构造、拷贝赋值以及析构函数。 1.String类解析 在string类中有一个私有的指针指向内存中的字符串,当我们需要使用这个字符串时才通过指...
1.编写头文件时要加上防卫式声明 2.模板的定义和使用 有时候我们不确定要定义的类里面的数据类型,因此我们使用模板来定义这个数据。 这样在类实例化的时候可以临时定义它的数据类...