12 2014 档案
摘要:ANSI-C++标准定义了四个新的转换符:'reinterpret_cast', 'static_cast', 'dynamic_cast' 和 'const_cast',目的在于控制类(class)之间的类型转换。 代码: reinterpret_cast<new_type>(expression
阅读全文
摘要:const int * p1=&me;//p1可变,*p1不可变,此时不能用*p1来修改,但是p1可以转向 int * const p2=&me;//p2不可变,*p2可变,此时允许*p2来修改其值,但是p2不能转向。 const int *const p3=&me;//p3不可变,*p3也不可变,
阅读全文
摘要:Interpreter模式提供了一个实现语法解释器的框架,其目的就是使用一个解释器为用户提供一个一门定义语言语法表示的解释器,并且通过这个解释器来解释语言中的句子。 Interpreter模式使用类来表示文法规则,因此方便于文法的扩展。 代码如下: #include #include...
阅读全文
摘要:基本上来说,Iterator模式并没有什么可多说得,在STL中见得实在太多了,一般用于遍历数据结构,其实现也相对简单。 代码如下: //////////////////////////////////////////////////////////////////////////// au...
阅读全文
摘要:Chainof Responsibility责任链模式:相当于MFC,windows程序设计窗口中的消息机制这类。 MFC中,消息是通过一个向上递交的方式进行处理,例如一个WM_COMMAND消息的处理流程可能为: 1) MDI主窗口(CMDIFrameWnd)收到命令消息WM_COMMAND,...
阅读全文
摘要:Visitor模式在不破坏类的前提下,为类提供增加新的新操作。 Visitor模式经常用于将更新的设计封装在一个类中,并且由待更改的类提供一个接受接口,其关键技术在于双分派技术,Element类提供接口,通过Accept实现具体使用哪一个具体的Visit操作; 当然如果有很多的修改,便可...
阅读全文
摘要:重新温习GOF23到第19个命令模式了,写下来方便自己理解 用经理,秘书,邮局来理解这个模式还是比较好的。 经理:喂,小丽呀,这儿有封信,请帮我尽快寄出去… 秘书:好的,经理,我马上去办! 秘书拿着这封信,到一家邮局将信寄了出去。邮局最终也将信投递到了收件人手中。 这是一个很常见的生活工作场景,...
阅读全文
摘要:重新温习GOF23到第18个中介者模式了,感觉还是蛮不错的,写了一个小小的Demo来解释下他们之间的关系。 中介者模式其实就相当于:中介,租房人,还有房主三者之间的关系。 房主A,租房人B首先联系了中介,在中介那里记名字了。 房主A有空房了,发条消息给中介,中介将A有空房的消息发给其他人。 在此...
阅读全文
摘要:最近这些天在重温设计模式GOF23,偶然想到友元,不使用都快忘了 今天重温一下C++友元知识,学了之后几乎就没怎么用到,几乎都是与设计模式打交道的。 虽然说友元能提高效率,表达清晰,但是破坏了类的封装机制,所以一般情况下不建议使用友元, 友元类简单demo: // 类A,希望把私有成员公开给...
阅读全文

浙公网安备 33010602011771号