自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (2)
  • 收藏
  • 关注

原创 设计模式---工厂模式(Factory)

工厂模式(Factory),专门实例化类的对象,隐藏类对象的创建过程。 先看UML图和对应C++代码: #include using namespace std; class base { public: virtual void foo() = 0; virtual ~base(){} }; class derived1:public bas

2012-02-29 21:07:32 591

原创 设计模式---代理模式(Proxy)

代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问。 先看UML图和对应C++代码: 对应C++代码: #include using namespace std; class base { public: virtual void foo() = 0; virtual ~base(){} }; class derived1:

2012-02-29 20:29:00 558

原创 设计模式---策略模式(strategy)

策略模式(strategy) 策略模式(strategy),它们定义了算法家族,分别封装起来,让它们之间可以替代,此模式让算法的变化,不会影响到使用算法的客户。 不废话,看UML图和对应C++代码: 对应C++代码: /** * date:2012/02/27 * Item:Learn strategy pattern * name:smile **/ #include

2012-02-28 23:36:03 569

原创 设计模式---装饰模式(decorator)

装饰模式(decorator),动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。 说白了就是扩展一个类的功能,而又不想用继承。 不废话先看UML和一段代码吧: 对应代码: #include using namespace std; class People { public: People(string name,stri

2012-02-28 22:58:32 523

原创 UML类关系之关联和聚合的区别

关联: 分为双向关联,单项关联,自身关联 双向关联: class C2; class C1 { C2 *p; }; class C2 { C1 *p; }; 上述代码反应的就是一个双向关联关系,我们来看下内存结构 类C1知道类C2,类C2也知道类C1,他们可以互相调用对方的方法。 单向关联: class C2; class C1 { C2 *p

2012-02-27 17:02:03 1923 1

原创 关于多线程同步问题

研究Windows核心编程也很有一阵子了,对于多线程同步这个问题渐渐有一点自己的理解。 我觉得搞清楚这个问题必须弄清楚以下几个概念: 1.并发 2.共享 3.加锁 先说并发,这个要清楚线程调度是个怎么回事,一句话概括就是:处于相同优先级的可调度状态的线程是并发执行的。 再说共享,进程类的任何线程都可以访问进程资源(包括全局对象==)。 然后是加锁,先要知道为什么要加锁,原因就是并发的

2012-02-24 11:47:15 626

原创 互锁函数,原子操作方式,关键代码段

多个线程访问共享资源时会发生同步问题。根本原因是因为Windows是抢占式多线程环境。 线程在执行的时候随时可能被中断(运行完一个cpu时间或有更高优先级的线程要运行) 例如: //Define a global variable. long g_x = 0; DWORD WINAPI ThreadFunc1(PVOID pvParam) { g_x++; ret

2012-02-20 10:57:52 2328

原创 关于C++中很难懂又必须懂的一些知识

1.Name Return Value 这属于编译优化方面的知识 2.Name mangling 这属于编译器编译时期的行为 3.The Life Of Temporary Object 这属于执行期语义 4.Virtual Table 这属于了类继承体系和面向对特性以及对象模型 5.Data Member Layout 这属于对象模型 6.Bitwise Copy 这属于构

2012-02-17 10:32:58 1344

原创 Exception Handling

C++异常处理机制是很难懂的知识,长时间来我都很惧怕它 今天我就来剖析下这个机制吧! C++的Exception Handling由三个主要的语汇组件构成: 1.一个throw子句。 2.一个或多个catch子句。 3.一个try区段。 这些是语法,记住就可以了。 我们要研究的是,发生了异常之后会伴随着发生些什么? 这里我先提出一个术语,这个术语叫unwinding the sta

2012-02-17 09:54:23 1489

跨平台工具的cmake

跨平台工具的cmake

2014-12-24

opencv默认使用的inteltbb

opencv默认使用的inteltbb

2014-12-24

空空如也

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

TA关注的人

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