C++
文章平均质量分 79
浪里来浪里去
C/C++从业者
展开
-
多线程编程-互斥锁
互斥锁,是一种信号量,常用来防止两个进程或线程在同一时刻访问相同的共享资源。转载 2016-09-20 16:40:26 · 597 阅读 · 0 评论 -
Linux下C++的多线程编程
线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。转载 2016-09-20 14:43:55 · 616 阅读 · 0 评论 -
设计模式C++学习笔记之十一(c/c++面试笔试题)
一、指针与引用有什么区别?1、指针会占用内存,引用不占用内存。2、引用在定义时必须初始化。3、没有空的引用,但是有空的指针。二、static关键的几个作用1、函数体内的static变量的作用范围为该函数体,该变量内存只分配一次,因此其值在下次再调用该函数时仍维持上次的值。2、在模块内的static全局变量可以被模块内的其他函数访问,但不能被模块外的函数访问。3、原创 2016-05-03 22:02:57 · 5218 阅读 · 0 评论 -
设计模式C++学习笔记之一(Observer观察者模式)
解释概念:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。main(),IObservable,被观察者接口CHanFeiZiObservable,被观察者韩非子IObserver,观察者接口CLiSiObserver,观察者李斯CZhouSiObserver观察者周斯说明:将观察者聚集到被观察者韩非子身边转载 2016-05-02 17:58:03 · 790 阅读 · 0 评论 -
设计模式C++学习笔记之十(Strategy策略模式)
无意中,从网上下到一本电子书《24种设计模式介绍与6大设计原则》,很好奇这里有24种设计模式,印象中GOF写的《设计模式》(Design Patterns),好像只有23种吧。运行起来一看,还真挺吸引咱的,里面提到的例子都很有趣。很感谢作者写出这样好的例子来,我的目的是把作者提到的例子用C++来实现。写这本书的作者是:cbf4life,更详细的内容及说明可以参考原作者博客:cbf4life.cnb转载 2016-05-02 17:51:09 · 772 阅读 · 0 评论 -
设计模式C++学习笔记之九(Proxy代理模式)
代理,一看名字就知道这只是个中介而已,真实的执行者在代理的后面呢。cbf4life在他的书里提的例子也很有趣,更详细的内容及说明可以参考原作者博客:cbf4life.cnblogs.com。现在贴代码,以方便随用随取。2.1.解释main(),西门庆IKindWomen,接口CWangPo,代理CPanJinLian,实际执行者之一CJiaShi,实际执行者之二说明转载 2016-05-02 17:50:06 · 531 阅读 · 0 评论 -
设计模式C++学习笔记之六(Singleton单例模式)
单例模式看起来也蛮简单的,就是在系统中只允许产生这个类的一个实例,既然这么简单,就直接贴代码了。更详细的内容及说明可以参考原作者博客:cbf4life.cnblogs.com。解释main(),大臣CEmperor,需要单例的类说明:很多大臣拜见的皇帝,只有一个。体现在面向对象方面,CEmperor定义一个静态指针,和一个静态函数,私有化构造函数、析构函数、构造函数复制、重转载 2016-05-02 17:47:53 · 741 阅读 · 0 评论 -
设计模式C++学习笔记之七(AbstractFactory抽象工厂模式)
抽象工厂,提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。对于工厂方法来说,抽象工厂可实现一系列产品的生产,抽象工厂更注重产品的组合。看代码:7.1.解释main(),女娲IHuman,产品接口CYellowHuman,抽象产品之一CYellowFemaleHuman,具体产品之一CYellowMaleHuman,具体产品之二CWhiteHu转载 2016-05-02 17:46:39 · 647 阅读 · 0 评论 -
设计模式C++学习笔记之八(Adapter适配器模式)
适配器模式,使用之处比较特殊,不属于常规设计模式,主要用于不同系统之间的处理。是将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。也是一个比较简单的模式,直接上代码了。看代码:解释main(),主程序IUserInfo,本系统内接口CUserInfo,本系统内实现类IOuterUser,外系统接口转载 2016-05-02 17:45:23 · 677 阅读 · 0 评论 -
设计模式C++学习笔记之五(Composite组合模式)
解释概念:将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合的使用具有一致性。main(),客户CCorpNode,抽象基类,实现基本信息CBranchNode,树枝节点,实现Addordinate()函数和GetSubordinate()函数CLeafNode,叶子节点,IsLeaf属性总是“true”说明:组合模式主要是实转载 2016-05-02 17:43:46 · 703 阅读 · 0 评论 -
设计模式C++学习笔记之四(Command命令模式)
命令模式,将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。应该是一个比较简单的模式了。解释 main(),客户 CInvoker,命令接收者,如项目经理 IGroup,执行者接口 CRequirementGroup,实际执行者之一CPageGroup,实际执行者之二CCodePage,实际执行者之三转载 2016-05-02 17:42:18 · 653 阅读 · 0 评论 -
设计模式C++学习笔记之三(Iterator迭代器模式)
概念:提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示。main(),客户IProject,产品接口CProject,产品类IIterator,迭代器接口IProjectIterator,产品迭代器接口CProjectIterator,产品迭代器实现类说明:CProject实现产品类,能够返回一个迭代器的指针。这个迭代器将封装产品类里的一个数转载 2016-05-02 17:39:08 · 752 阅读 · 0 评论 -
设计模式C++学习笔记之二(Bridge桥梁模式)
桥梁模式,将抽象部分与它的实现部分分离,使它们都可以独立地变化。实现分离的办法就是增加一个类,11.1.解释main(),客户IProduct,产品接口CHouse,房子CIPod,ipodCClothes,服装CNewCorp,桥梁类,MakeMoney()是桥梁方法CNewHouseCorp,只能生产房子,所以构造函数是CHous转载 2016-05-02 17:37:36 · 1047 阅读 · 0 评论 -
log4cplus库(简单使用)
一.简介 log4cplus是一个日志记录的库,目的很简单,就是把合适的信息送到正确的位置上去。在服务器程序上使用非常方便。 开发库下载地址可以去baidu搜一下,是开源的哦!二.组成 Log4cplus 由4部分组成: (1) Logger 日志模块,程序中唯一一个必须得使用的模块,解决了在哪里使用日志的问题 (2) Appenders转载 2016-10-19 10:02:30 · 3390 阅读 · 0 评论