LOGBOOK

掌握了面向对象编程 却找不到对象

二叉树与图

树 树(tree)是包含n(n>=0)个结点的有穷集,其中: (1)每个元素称为节点(node); (2)有一个特定的节点被称为根节点或树根(root)。 (3)除根结点之外的其余数据元素被分为m(m≥0)个互不相交的集合T1,T2,……Tm-1,其中每一个集合Ti(1&am...

2019-05-20 00:28:23

阅读数 9

评论数 0

排序算法

选择排序 选择排序算法是通过n-i次关键字间的比较,n-i+1个记录中选出关键字最小的记录,并和第i个(1<=i<=n)个记录。 #include<iostream> using namespace std; void selectSo...

2019-05-04 00:03:30

阅读数 17

评论数 0

“领域规则”模式

“领域规则”模式 在特定领域中,某些变化虽然频繁,但可以抽象为某种规则。这时候结合特定领域,将问题抽象为语法规则,从而给出在该领域下的一般性解决方案。 典型模式 Interpreter Interpreter解析器 给定一个语言,定义它的文法的一种表示,并定义一种解释器,这个解释器使用该...

2019-05-03 16:03:02

阅读数 8

评论数 0

“行为变化”模式

“行为变化”模式 在组件构建过程中,组件行为的变化经常导致组件本身剧烈的变化。“行为变化”模式将组件的行为与组件本身进行解耦从而支持组件行为的变化,实现两者之间的松耦合。 典型模式 Command Visitor Command命令模式 将一个请求(行为)封装为一个对象,从而使你可用不...

2019-05-03 14:45:06

阅读数 10

评论数 0

“数据结构”模式

“数据结构”模式 常常有一些组件在内部具有特定的数据结构,如果让客户程序依赖这些特定的数据结构,将极大地破坏组件的复用。这时候将这些特定的数据结构封装在内部,在外部提供统一的接口,来实现与特定数据结构无关的访问,是一种行之有效的解决方案。 典型模式 Composite Iterator ...

2019-05-02 22:17:19

阅读数 7

评论数 0

链表

链表基础 打印一个自定义链表。 #include<iostream> using namespace std; struct ListNode { int val;//数据域 ListNode* next;//指针域 ListNode(int val) :v...

2019-04-27 19:17:34

阅读数 24

评论数 0

深度缓冲区

深度缓冲区 深度缓冲区是Direct3D用来存储绘制到屏幕上每一个像素点的深度信息的—块内存缓冲区。 它为每个像素存储一个深度值(z值),这个深度值是从摄像机到对应该像素点的顶点之间的距离。 深度缓冲区的大小和颜色缓冲区(Frame Buffer)的大小一致。 例如: 如果要绘制一个64...

2019-03-21 14:28:40

阅读数 18

评论数 0

“状态变化”模式

“状态变化”模式 在组件构建过程中,某些对象的状态经常面临变化,如何对这些变化进行有效的管理?同时又维持高层模块的稳定?“状态变化”模块为这一问题提供了一种解决方案。 典型模式 State Memento State状态模式 允许一个对象在其内部状态改变时改变它的行为,从而使对象看起来...

2019-03-13 00:40:05

阅读数 22

评论数 0

“接口隔离”模式

“接口隔离”模式 在组件构建过程中,某些接口之间直接的依赖常常会带来很多问题、甚至根本无法实现。采用一层间接(稳定)接口,来隔离本来互相紧密关联的接口是一种常见的解决方案。 典型模式 Facade Proxy Adapter Mediator Facade门面模式 为子系统中的一组...

2019-03-11 21:43:15

阅读数 28

评论数 0

“对象性能”模式

“对象性能”模式 面向对象很好的解决了“抽象”的问题,但是必不可免地要付出一定的代价。对于通常情况来讲,面向对象的成本大都可以忽略不计。但是某些情况,面向对象所带来的成本必须谨慎处理。 典型模式 Singleton FlyWeight Singleton单件模式 保证一个类仅有一个实例...

2019-03-10 20:55:14

阅读数 18

评论数 0

“对象创建”模式

“对象创建”模式 通过“对象创建”模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而支持对象创建的稳定。它是接口抽象之后的第一步工作。 典型模式 Factory Method Abstract Factory Prototype Builder Fact...

2019-03-09 02:02:43

阅读数 32

评论数 0

“单一职责”模式

“单一职责”模式 在软件组件的设计中,如果责任划分的不清晰,使用继承得到的结果往往是随着需求的变化,子类急剧膨胀,同时充斥着重复代码,这时候的关键是划清责任。 典型模式 Decorator Bridge Decorator装饰模式 动态(组合)地给一个对象增加一些额外的职责。就增加功能...

2019-03-08 17:46:19

阅读数 26

评论数 0

“组件协作”模式

“组件协作”模式 现代软件专业分工之后的第一个结果是“框架与应用程序的划分”,“组件协作”模式通过晚期绑定,来实现框架与应用程序之间的松耦合,是二者协作之间时常用的模式。 典型模式 Template Method Strategy Observer/Event Template Met...

2019-03-07 01:45:36

阅读数 30

评论数 0

设计模式(学习笔记)

设计模式的概念 在此引用一个建筑学家,克里斯托佛·亚历山大(Christopher Alexander)的原话,“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该解决方案而不必做重复的劳动。” 软件设计的金科玉律是“复用”,而设计模式...

2019-03-05 18:07:43

阅读数 35

评论数 0

指针

指针 总览图 指针的概念 指针是C语言中广泛使用的一种数据类型,指针定义的变量,存储的是某一块内存的地址。我们称该指针变量指向了这块内存的首地址。例如数组或函数,由于数组、函数都是连续存储,因此可以用指针变量来表示数组或函数。 地址的说明 C++编译系统在编译时会为不同数据类型的对象...

2019-02-21 10:52:10

阅读数 35

评论数 0

3D渲染流程

3D渲染流程 总览图 空间 概念 空间实质上是指描述物体之间信息的坐标系,某些信息只在特定的坐标系中才有意义。而同时,空间也被分为不同的种类,同一个物体在不同的空间中会存在不同的表示。 种类 本地空间 世界上任何物体都有自己的本地坐标,本地坐标所描述的空间谓之本地空间,本地空间在...

2019-01-30 16:47:40

阅读数 195

评论数 0

数组

数组 总览图 概念 由一系列顺序排列的、具有相同类型的变量组成的集合。 特性 数组中的每个元素具有相同的类型; 每个元素由“下标”唯一标示;  使用连续内存空间; 数组的下标始于0,止于n-1(当为一维时,n为数组元素的个数,否则n为相应维度的最大值)。 内存结构 特点: ...

2019-01-20 18:08:32

阅读数 66

评论数 0

流年笑掷 未来可期

茫然之间迎来了2019,似是毫无准备,又满怀憧憬,登进CSDN,偶然间看到了新年flag征文活动,心里百味陈杂。 回顾2018 不说错话,不做错事,青春白走一回 2018年也是我的毕业季本命年。 长达6小时的动车缓缓停靠在了汉口,我披着背包,跨上了站台,天色渐晚,有些微微暗,弥漫在空气中的...

2019-01-14 18:38:08

阅读数 1242

评论数 0

C语言条件编译

条件编译 总览图 概念 根据编译的条件(某个特定的宏)以控制代码的生成(.i后缀的预处理文件中可见生成的代码),类似C语言的if语句的功能。 常用预编译指令 编译的预处理环节当中与编译器交互的指令、以#开头,分为三种:文件包含、宏定义、条件编译,如: //条件包含 #includ...

2019-01-13 22:56:27

阅读数 44

评论数 0

C语言的宏

C语言的宏 总览图 宏的概念 在C语言中,宏是一种预处理指令(#指令关键字),它提供了一种机制,通过将一个宏名指定成任何需要替换的内容,即#define M m,在程序的编译过程中,预处理阶段预处理器会在源代码中将其替换成在它定义时指定的文本内容(称宏替换、宏展开),即,m替换M。 宏...

2019-01-06 16:12:51

阅读数 51

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭