自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(8)
  • 收藏
  • 关注

转载 基于OGRE的开源游戏

http://www.realxtend.org/page.php?pg=main這是一個很酷的專案,有點像是sencond life的翻版,事實上也的確可以跟seconde life相通,因為它是基於OpenSim的開放虛擬世界,把它當作是一個虛擬線上社群也不為過;圖形部分使用Ogre引擎,專案分為Client端與Server端; Client端就是Viewer,可以將創造好的角色丟到社

2008-12-22 14:36:00 2379

转载 函数式编程另类指南

原文:Functional Programming For The Rest of Us原文作者:Vyacheslav Akhmechet翻译:lihaitao (电邮: lihaitao在gmail.com)翻译原帖:函数式编程另类指南校对:刘凯清 程序员拖沓成性,每天到了办公室后,泡咖啡,检查邮箱,阅读 RSS feed,到技术站点查阅最新的文章,在编程论坛的相关版面浏览公共讨论,

2008-12-10 16:31:00 659

原创 使用设计模式实现Undo,Redo框架

编辑器程序少不了要支持undo, redo功能,如何实现?本文就是参考了设计模式中给出的思路实现了一个。这里主要用到了两个模式:命令(command)模式, 备忘录(memento)模式所谓编辑,功能上可以分成3个原子操作:添加新内容,编辑已有内容,删除已有内容, 因此编辑功能3个command实现,AddCommand, EditCommand, DeleteCommand. 这3个命令

2008-12-10 13:38:00 3853

原创 用C++模拟C#事件机制之改进篇

我前面写过的一篇 C++模拟C#事件机制 中给出了一个C++ event完整实现, 但是存在好多问题,主要是:由于使用静态变量存储函数类别导致不能保存多个相同函数特征(参数列表和返回值)的函数。这个重构版本充分利用了面向对象的思想,利用派生和多态封装了全局函数,成员函数,函数对象,使3者借口完全一致.  templateclass TReturn, class TArgumen

2008-12-10 13:11:00 1015

原创 C++语言中的闭包

    在大多数函数式语言中,不允许函数有副作用,即函数不能访问或改变外部状态(比如全局变量),这样做极大方便了单元测试和bug 定位以及并发,但是在一些函数式语言中对函数副作用的要求稍稍放宽了限制,引入了词法闭包(lexical closure),允许函数可以保留自己的context, 以便设计出传出值是函数的函数。例如:    erlang中这样实现闭包,    MakeTest =

2008-12-10 09:59:00 7238 2

转载 函数的副作用及其他

 纯函数(Pure Function)是这样一种函数——输入输出数据流全是显式(Explicit)的。 显式(Explicit)的意思是,函数与外界交换数据只有一个唯一渠道——参数和返回值;函数从函数外部接受的所有输入信息都通过参数传递到该函数内部;函数输出到函数外部的所有信息都通过返回值传递到该函数外部。 如果一个函数通过隐式(Implicit)方式,从外界获取数据,或者向外部输出数据,那么

2008-12-10 09:42:00 1103 1

原创 使用C++模板封装SQLite(完整版)

    SQLite 是一款开源的嵌入式数据库,由于本身小巧玲珑,比较适合作为应用软件的一部分嵌入到程序中,SQLite提供了一套简单易用的C API供应用程序调用,  但由于API的使用比较繁杂,并且考虑到将来移植到不同数据库的需求,应当避免直接使用SQLite API,应对其适当的封装,增加代码的灵活性。本文就项目中的使用经验提供了一种封装的方法。    1.API层的封装    由于

2008-11-24 18:36:00 7874 13

原创 用C++模拟C#事件机制

    C#中的事件机制可以很方便的实现设计模式中的Observer模式,C#提供了delegate 和 event 来实现这种机制,实际上只要delagate就可以实现event效果,event语法完全没必要,因为delegate是多播的。本文提供了一个C++版本的实现,与C#原生的事件机制相比,只有一点不同,我实现的delegate是单播的(为了避免delegate 和 event 功能重复的

2008-11-24 17:04:00 953

空空如也

空空如也

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

TA关注的人

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