自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

星星之火

人生没有彩排,每天都是现场直播!

  • 博客(15)
  • 资源 (6)
  • 收藏
  • 关注

原创 C++内存管理(2)

一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(stati

2013-09-22 10:56:38 720

原创 设计模式 - 备忘录模式

定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态类型:行为类类图:        我们在编程的时候,经常需要保存对象的中间状态,当需要的时候,可以恢复到这个状态。比如,我们使用Eclipse进行编程时,假如编写失误(例如不小心误删除了几行代码),我们希望返回删除前的状态,便可以使用Ctrl+Z来

2013-09-29 15:40:38 491

原创 设计模式 - 中介者模式

定义:用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。类型:行为类模式类图:中介者模式的结构       中介者模式又称为调停者模式,从类图中看,共分为3部分: 抽象中介者:定义好同事类对象到中介者对象的接口,用于各个同事类之间的通信。一般包括一个或几个抽象的事件方法,并由子

2013-09-29 10:56:25 546

原创 设计模式 - 模版方法模式

定义:定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤。类型:行为类模式类图:        事实上,模版方法是编程中一个经常用到的模式。先来看一个例子,某日,程序员A拿到一个任务:给定一个整数数组,把数组中的数由小到大排序,然后把排序之后的结果打印出来。经过分析之后,这个任务大体上可分为两部分,排序和

2013-09-29 10:38:15 630

原创 设计模式 - 工厂方法模式

定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。类型:创建类模式类图:工厂方法模式代码[java] view plaincopyinterface IProduct {      public void productMethod();  }    cl

2013-09-28 21:03:43 550

原创 设计模式 - 抽象工厂模式

定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。类型:创建类模式类图:抽象工厂模式与工厂方法模式的区别        抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象。他与工厂方法模式的区别就在于,工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则是针对的多个产品等级结构。在编程中,通常一个产品结构,

2013-09-28 20:44:25 637

原创 设计模式 - 观察者模式

定义:定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。类型:行为类模式类图:        在软件系统中经常会有这样的需求:如果一个对象的状态发生改变,某些与它相关的对象也要随之做出相应的变化。比如,我们要设计一个右键菜单的功能,只要在软件的有效区域内点击鼠标右键,就会弹出一个菜单;再比如,我们要设计一个自动部署

2013-09-28 20:13:35 554

原创 设计模式 - 单例模式

定义:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。类型:创建类模式类图:单例模式应该是23种设计模式中最简单的一种模式了。它有以下几个要素:私有的构造方法指向自己实例的私有静态引用以自己实例为返回值的静态的公有的方法        单例模式根据实例化对象时机的不同分为两种:一种是饿汉式单例,一种是懒汉式单例。饿汉式单例在单例类被加

2013-09-28 19:50:47 605

原创 UML类图

类图知识点:1.类图分为三部分,依次是类名、属性、方法2.以>结尾的为注释信息;接口需要标示一下:《interface》3.修饰符+代表public,-代表private,#代表protected,什么都没有代表包可见。4.带下划线的属性或方法代表是静态的。5.抽象类使用斜体6类图关系:依赖:虚线箭头--------->关

2013-09-28 16:51:14 953

原创 设计模式-类之间的关系

类之间存在的6种关系:依赖 关联 聚合 组合 实现(接口) 继承(泛化) 其中,聚合和组合是关联的两种具体关系,关联包含组合和聚合。关系强弱:依赖是关系最弱的,关联是强依赖,聚合是强关联,组合是强聚合。注意:继承比起接口,可以扩展,接口最好不要扩展。1. 依赖(Dependence)         依赖关系的定义为:对于两个

2013-09-28 16:18:35 1148 1

转载 buddy system

Reference:http://blog.csdn.net/zhangqingsup/article/details/66616381. Buddy System的基本原理?2. 如何分配空间?3. 如何回收空间?对以上三个问题的说明:Buddy System把系统中的可用存储空间划分为存储块(Block)来进行管理, 每个存储块的大小必须是2的n次幂(Pow(2,

2013-09-21 22:24:01 929

原创 初始化:变量和数组

#include using namespace std;//变量int x;//数组int a[4] = {1};int aa[4];int main(){ //变量 int y; cout << x <<' ' << y << endl; //函数外,初始化部分 for (int i = 0; i < 4; i++) cout << a[i] <<

2013-09-21 20:21:21 765

原创 C语言运算符优先级

优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右 ()圆括号(表达式)/函数名(形参表) .

2013-09-17 10:18:59 508

原创 define与typedef及相关

1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错。例如: #define PI 3.1415926 程序中的:area=PI*r*r 会替换为3.1415926*r*r 如果你把#define语句中的数字9 写成字母g 预处理也照样带入。 2)typedef是在编译时处

2013-09-16 14:28:08 833

原创 关于字符串(2)

//关于string的一些库函数的实现//strncpychar *_strncpy(char *strDes, const char *strSrc, unsigned int count){ assert(strDes != NULL && strSrc != NULL); char *address = strDes; while (count-- && *strSrc !=

2013-09-10 22:43:59 656

多益机试题目

多益机试

2013-10-13

数据结构与算法分析-c语言描述

原书曾被评为20世纪顶尖的30部计算机著作之一,作者Mark Allen Weiss在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的著作尤其畅销,并受到广泛好评.已被世界500余所大学用作教材。

2013-04-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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