自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

C++ 爱好者 make_it_simple888

微信:make_it_simple888

  • 博客(19)
  • 资源 (17)
  • 收藏
  • 关注

原创 设计模式(六)策略模式Strategy

意图:定义一个系列算法,把他们一个个封装起来,并且使它们可互相替换。使得算法可以独立于使用它的客户。传统C++方法实现:#include #include using namespace std;class Strategy{public: virtual void doAlgorithm(void)=0; virtual ~Strategy(){}protected:

2016-03-31 19:06:41 917

原创 Boost中的单例模式

boost库实现了一个单利模式,并区分返回的是const & 还是非const &。如果返回的是const & ,则必然已经是线程安全的。如果返回的是非 const &,则不是线程安全的,需要自己注意加锁哦。代码:#includeusing namespace std;#include "boost/serialization/singleton.hpp"using name

2016-03-31 18:11:30 1616

原创 C++11 函数调用操作符重载 function 加减乘除四则运算计算器

function+bind可以实现按值传递函数对象,从而消灭多态,消灭回调。参考:《C++ Primer 第五版中文版》《Linux 多线程服务端编程》代码:#include #include #include #include using namespace std;int add(int i,int j) { return i+j;}class divide{p

2016-03-31 17:56:08 2492 2

原创 多线程同步的开发

介绍根据多线程同步原理中介绍的内容可知,多线程开发就是要让多个线程正确的访问临界资源,实现多线程同步。所以,一般的同步策略最简单的就是:使用互斥体(mutex)来管理临界资源(与临界资源同时定义,生命期相同,作用域相同),互斥体提供P、V操作(获取,获取不到就等待;释放,唤醒等待的线程)。不同的线程使用锁(Guard)来自动调用(构造函数、析构函数)互斥体的P、V操作,从而实现同步。互

2016-03-29 19:45:12 953

原创 设计模式(五)桥接模式Bridge == Pointer To Implementation

意图:将抽象部分与实现部分分离,使它们都可以独立的变化。(核心在抽象,为了应对变更才有了不同的实现)示例代码:接口类samplesample.h#pragma once#include "boost/smart_ptr.hpp"using namespace boost;class imp;//只需要生命无需包含源文件class sample{public: s

2016-03-16 22:59:49 1424

原创 23种设计模式:现代C++实现 V2.0

适配器模式Adapter意图:接一个类的接口转换为客户希望的另一个接口。例子:用deque实现栈或者队列桥接模式Bridge意图:将抽象部分与实现部分分离,使它们都可以独立的变化。(核心在抽象,为了应对变更才有了不同的实现)例子:Windows各种窗口使用成员指针来指向具体的实现类示例代码代理模式Proxy意图:为对象提供一种代理以控制对这个对象的访问。(核心是被代

2016-03-16 22:26:38 7666

原创 设计模式(四)std::function助力抽象工厂和工厂方法

抽象工厂Abstract Factory意图:用工厂类的不同成员函数来返回不同类型的对象。这些不同的对象往往是有着共同的基类,最终是想利用多态。而多态已经被function+bind取代,所以这个模式没啥意义!特点:使用智能指针获取对象,而不是暴露原始指针。代码:#include "boost/smart_ptr.hpp"#include "boost/wea...

2016-03-16 11:44:57 4302

原创 设计模式(三)观察者模式Observer(发布订阅)

观察者模式的目的是让博客更新之后,所有订阅了博客的人都能得到通知这里使用了只能指针来实现,从而完整的解决了资源管理的问题。Blog.h#pragma once#include #include using namespace std;#include #include "boost/weak_ptr.hpp"//#include "Observer.h"这里不能包含头文件

2016-03-15 11:51:51 1672 1

原创 weak_ptr基本用法

weak_ptr主要是配合share_ptr来实现应用计数,同时不会发生循环引用。参考:http://www.cnblogs.com/TianFang/archive/2008/09/20/1294590.html#include "boost/smart_ptr.hpp"#include "boost/weak_ptr.hpp"#includeusing namespace st

2016-03-13 14:41:37 3199

原创 多线程同步的原理

参考多线程执行进程在活动中会相互制约所有进程都是相互独立的进程之间以异步并发方式执行同步同步是进程共同完成一项任务时互相发生的关系同步进程之间具有合作关系执行的时候必须按照一定顺序协调进行互斥互斥是进程之间共同完成一项任务时,由于竞争同一种资源,发生的互相排斥的关系互斥进程之间不具备时间次序的关系临界资源一次只允许一个进程

2016-03-12 22:19:26 1772

原创 C++常用知识列表

头文件C++标准头文件算法STL全排列算法next_permutation和prev_permutation内存管理shared_ptr让C++程序和new delete彻底说拜拜

2016-03-11 17:16:23 777

原创 TCP/IP网络编程模型

select

2016-03-07 13:53:33 750

原创 SQL常用语句

SQL删除重复数据只保留一条

2016-03-07 09:01:17 596

原创 ACE Socket包装外观

目标(1)面向对象,强类型,不易误用(2)功能划分,接口职责明确到类相关类

2016-03-04 16:37:24 647

原创 常用SQL语句汇总

SQL取整、四舍五入SQL UPDATESQL空值替换 ISNULLCASE WHEN 两种用法GROUP BY分组与聚合函数* join日期与字符转换 SQL中的空值NULLCREATE TABLE创建表SQL UNION 和 UNION ALL 操作符 INSERT INTO SELECT

2016-03-03 11:25:21 693

原创 ACE日志

使用ACE日志设施(一)HelloWorld使用ACE日志设施(二)详细介绍

2016-03-01 23:31:59 1667

原创 ACE的约定

ACE的内存与资源管理建立在一些约定之上,这些约定并没有单独的章节去介绍。这里统一归纳一下消息队列ACE_Message_Queue消息队列中的消息ACE_Message_Block:(1)创建:伴随业务创建堆对象(2)释放:谁使用,谁负责释放,使用完使用release方法释放服务处理器ACE_Event_Handler(1)创建:伴随业务创建堆对象(2)ope

2016-03-01 23:28:39 1141

原创 ACE_Event_Handler

详细介绍原文地址ACE_Event_Handler是ACE中的所有反应式事件处理器的基类。这个类提供了以下能力:它定义输入事件、输出事件、异常事件、定时器事件以及信号事件的挂钩方法。它的挂钩方法允许应用以许多方式扩展事件处理器子类,而不必改变框架。它对面向对象回调的使用简化了“数据”与“对这些数据进行操作的挂钩方法”的关联它对对象的使用还使“一个事件源(或成组事件源)”与“事件

2016-03-01 09:59:01 1310

原创 ACE_Reactor系列

ACE_Reactor实现计时器ACE_Reactor实现运行时接收键盘输入

2016-03-01 09:39:25 2386

Qt VS tools for msvc2013 qt-vsaddin-msvc2013-2.3.2.rar

qt-vsaddin-msvc2013-2.3.2.vsix

2021-02-19

qt-vsaddin-msvc2017-2.6.0-rev.07.rar

qt-vsaddin-msvc2017-2.6.0-rev.07.vsix

2021-02-19

SourceTreeSetup-3.0.17.rar

SourceTreeSetup-3.0.17.exe 最新官网下载 Windows安装版

2019-05-21

C++Primer(第5版)高清完整版220MB

C++Primer(第5版)高清完整版 C++语言不可不读的经典中的经典。适合10年以内的开发者!

2019-02-23

ER图绘制工具

一看就知道怎么使用,快速绘制ER图,导出为图片,小巧,才一兆。不能再好用了,你肯定会喜欢

2014-04-16

RabbitMQ C++ Client on Windows

在《rabbitmq c++ 封装源码》(http://download.csdn.net/detail/chenfan_yy/6914763 陈梵作)的基础上扩展了一个支持consumer(vector<string>&)的接口。调整了目录结构,方便使用。项目时x64的,如果以x32为目标机可以自行在vs里设置,设置方法见:http://blog.csdn.net/calmreason/article/details/23185151。此版本对开发这来说应该是方便好用的。

2014-04-10

rabbitmq c++ 2.0封装源码

2.0版本在《rabbitmq c++ 封装源码》陈梵作者的基础之上扩展了C++接口,更方便使用,但不保证数据不会丢失。

2014-04-10

C++ Network Programming Volume 2.chm

英文版支持全文搜索,难得的。C++网络编程卷二,小巧不占空间,win8打开右键文件属性接触锁定才可以打开。其他没问题

2014-03-05

Visual Assist X

里面有安装说明,替换一下自带的dll文件即可破解,可安装在VS08,VS10上

2013-11-24

13种UML建模绘图工具

有了这些介绍,你就可以到对应的网站下载这些工具,然后学习绘制UML图了

2012-11-22

apache-tomcat-6.0.14.exe

有了这个文件,你就可以傻瓜安装Tomcat了

2012-11-21

Programming Ruby 2edition

Ruby 语言的入门经典教程。 Ruby的创始人所写,绝对经典。

2011-07-15

The Ruby Way

这是最好的Ruby入门教程,非常方便实用,内配小例子。每个例子都是短小精悍的。

2011-06-24

Aho算法的C++实现

Aho算法是解决字符集合匹配的最高效的算法,此资源包括算法的设计,流程图,分析图.内容详尽.唯一的美中不足就是动态动态开辟的空间没有使用句柄,不能很好的释放资源.不过关系不大

2010-12-20

汇编编译器 集成开发环境 适用于初学者循序渐进学习asm2010

汇编asm集成开发环境IDE 中文版 有简单的例子 与课本章节同步 高级功能需购买 但足够初学者学习汇编的方方面面

2010-04-16

二叉树系列 各种常见操作C语言实现

各种二叉树的常见操作 递归输出 非递归输出 三种遍历包含递归和非递归方式

2010-02-18

c#编程思想 C#入门书

C#编程思想,介绍在.NET环境下C#语言的基本语法,基本概念。用实例实现,简单易学,可作为C#的入门书

2010-01-31

空空如也

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

TA关注的人

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