一、设计模式分类: 二、六大设计原则:

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