上一页 1 2 3 4 5 6 ··· 11 下一页

2012年8月6日

C++操作符

摘要: 参考网址:http://www.cplusplus.com/doc/tutorial/operators/ 阅读全文

posted @ 2012-08-06 20:38 IT@民工 阅读(144) 评论(0) 推荐(0) 编辑

C++关键字

摘要: 关键字是预先保留的标识符,每个关键字都有特殊的含义。我们不能在程序中使用与关键字同名的标识符。以下是C++所保留的关键字 阅读全文

posted @ 2012-08-06 20:15 IT@民工 阅读(130) 评论(0) 推荐(0) 编辑

C++中explicit关键字的作用

摘要: 转载网址:http://www.cnblogs.com/winnersun/archive/2011/07/16/2108440.htmlexplicit用来防止由构造函数定义的隐式转换。要明白它的作用,首先要了解隐式转换:可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换。class things{ public: things(const std::string &name = ""): m_name(name),height(0),weight(10){} int CompareTo(const things & other); s 阅读全文

posted @ 2012-08-06 19:15 IT@民工 阅读(182) 评论(0) 推荐(0) 编辑

关于C++内联函数

摘要: 转载网址:http://www.cppblog.com/fwxjj/archive/2007/04/20/22352.html(1)什么是内联函数?(2)为什么要引入内联函数?(3)为什么inline能取代宏?(4)内联函数和宏的区别?(5)什么时候用内联函数?(6)如何使用内联函数?(7)内联函数的优缺点?(8)如何禁止函数进行内联?(9)注意事项:(1)什么是内联函数?内联函数是指那些定义在类体内的成员函数,即该函数的函数体放在类体内。(2)为什么要引入内联函数?当然,引入内联函数的主要目的是:解决程序中函数调用的效率问题。另外,前面我们讲到了宏,里面有这么一个例子:#define ABS 阅读全文

posted @ 2012-08-06 16:25 IT@民工 阅读(162) 评论(0) 推荐(1) 编辑

深入理解C++中关键字 mutable

摘要: 转载网址:http://dev.yesky.com/393/3007393.shtmlmutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。 在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。 我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。但是,有些时候,我们需要在const的函数里面修改一些跟类状态无关的数据成员,那么这个数据成员就应该被mutalbe来修饰。下面是一个小例子:class ClxTest{ pu.. 阅读全文

posted @ 2012-08-06 15:18 IT@民工 阅读(217) 评论(0) 推荐(0) 编辑

2012年7月31日

访问者模式(Visitor Pattern)

摘要: 模式动机:1、对于系统中的某些对象,它们存储在同一个集合中,且具有不同的类型,而且对于该集合中的对象,可以接受一类称为访问者的对象来访问,而且不同的访问者其访问方式有所不同,访问者模式为解决这类问题而诞生。2、在实际使用时,对同一集合对象的操作并不是唯一的,对相同的元素对象可能存在多种不同的操作方式。3、而且这些操作方式并不稳定,可能还需要增加新的操作,以满足新的业务需求。4、此时,访问者模式就是一个值得考虑的解决方案。5、访问者模式的目的是封装一些施加于某种数据结构元素之上的操作,一旦这些操作需要修改的话,接受这个操作的数据结构可以保持不变。为不同类型的元素提供多种访问操作方式,且可以在不修 阅读全文

posted @ 2012-07-31 23:34 IT@民工 阅读(274) 评论(0) 推荐(0) 编辑

策略模式(Strategy Pattern)

摘要: 模式动机:1、完成一项任务,往往可以有多种不同的方式,每一种方式称为一个策略,我们可以根据环境或者条件的不同选择不同的策略来完成该项任务。2、在软件开发中也常常遇到类似的情况,实现某一个功能有多个途径,此时可以使用一种设计模式来使得系统可以灵活地选择解决途径,也能够方便地增加新的解决途径。3、在软件系统中,有许多算法可以实现某一功能,如查找、排序等,一种常用的方法是硬编码(HardCoding)在一个类中,如需要提供多种查找算法,可以将这些算法写到一个类中,在该类中提供多个方法,每一个方法对应一个具体的查找算法;当然也可以将这些查找算法封装在一个统一的方法中,通过if…else…等条件判断语句 阅读全文

posted @ 2012-07-31 19:55 IT@民工 阅读(198) 评论(0) 推荐(0) 编辑

状态模式(State Pattern)

摘要: 模式动机:1、在很多情况下,一个对象的行为取决于一个或多个动态变化的属性,这样的属性叫做状态,这样的对象叫做有状态的 (stateful)对象,这样的对象状态是从事先定义好的一系列值中取出的。当一个这样的对象与外部事件产生互动时,其内部状态就会改变,从而使得系统的行为也随之发生变化。2、在UML中可以使用状态图来描述对象状态的变化。模式意图:状态模式(State Pattern):允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。其别名为状态对象(Objects for States),状态模式是一种对象行为型模式。UML图:角色:Context:环境类又称为上下文类,它 阅读全文

posted @ 2012-07-31 16:00 IT@民工 阅读(190) 评论(0) 推荐(0) 编辑

观察者模式(Observer Pattern)

摘要: 模式动机:1、建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应做出反应。在此,发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应多个观察者,而且这些观察者之间没有相互联系,可以根据需要增加和删除观察者,使得系统更易于扩展,这就是观察者模式的模式动机。模式意图:观察者模式(Observer Pattern):定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Sou 阅读全文

posted @ 2012-07-31 09:53 IT@民工 阅读(239) 评论(0) 推荐(0) 编辑

2012年7月30日

备忘录模式(Memento Pattern)

摘要: 模式动机:1、为了使软件的使用更加人性化,对于误操作,我们需要提供一种类似“后悔药”的机制,让软件系统可以回到误操作前的状态,因此需要保存用户每一次操作时系统的状态,一旦出现误操作,可以把存储的历史状态取出即可回到之前的状态。2、现在大多数软件都有撤销(Undo)的功能,快捷键一般都是Ctrl+Z,目的就是为了解决这个后悔的问题。3、在应用软件的开发过程中,很多时候我们都需要记录一个对象的内部状态。4、在具体实现过程中,为了允许用户取消不确定的操作或从错误中恢复过来,需要实现备份点和撤销机制,而要实现这些机制,必须事先将状态信息保存在某处,这样才能将对象恢复到它们原先的状态。5、备忘录模式是一 阅读全文

posted @ 2012-07-30 16:58 IT@民工 阅读(238) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 ··· 11 下一页

导航