摘要: 第零天 工作也有些年头了,一直没有系统的学习过设计模式和面向对象的软件设计方法。今天开始使用《大话设计模式》一书进行学习。在此记录下研习中遇到的问题,及自己的感悟,结合着以往工作中的问题应该可以感受更深。 看了第一篇,觉得应该给定一个读书的计划,定于2月28日为最晚截止日期。 由于该书每章讲述一个模式,而在每章开头会提出一个问题,所以我给自己定下的方法就是,根据问题先自己实现代码。再读书,通过书中的讲解及代码,对自己的代码进行迭代改写,这样可以暴露代码的不足和学习到每个模式的代码实现。先使用C#完成代码整章代码后,理解模式,再使用C++代码实现。 男人就是要对自己狠一点。。放弃游戏吧... 阅读全文
posted @ 2013-02-05 11:29 让代码飞一会儿 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 一.学习读技术类书10本(1本/月)写博客日记,每周不低于5篇学习cocos2d-x平台,完成例子代码.并能复刻学习游戏策划相关知识Just do it, don't think about it overly.二.生活每天坚持做俯卧撑,站桩.周末慢跑2公里每周学会做1道新菜争取在北京买1套房希望摇号尽快中签 阅读全文
posted @ 2013-02-05 09:17 让代码飞一会儿 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 在实现饿汉式单例模式时, java和c#在类中声明静态私有成员实例并new在c++中,声明的静态成员如果使用new之后,本想在类析构中delete掉自己,但是在调试时发现此法不可行.因为在析构函数中调用delete会导致,析构函数被递归调用,当调用堆栈满时就会产生异常.代码如下:View Code 1 class Singleton 2 { 3 public: 4 ~Singleton() 5 { 6 if(instance) 7 { 8 delete this; 9 instance = NULL;... 阅读全文
posted @ 2013-01-25 18:08 让代码飞一会儿 阅读(2115) 评论(0) 推荐(0) 编辑
摘要: 通过第2章的习题4, 并结合这几年工作中处理编程任务的方法, 总结出了下面的一段话在分析根据菜谱烹饪菜肴的过程, 与编程方法的本质是一致的烤蓝莓松饼等同于一个编程任务, 菜谱中的这些指令就是要完成编程任务需要的操作过程。每个单独的动作位于自己编号的段落中,就是编程过程中创建的函数或方法,而每个烹饪步骤中使用的原材料,烹饪工具就是函数的输入。在所有步骤按照顺序执行结束后就是成品,也就完成了编程任务整体是过程式的,而在每个过程中又可以面向对象。概括一个编程任务的生命:1. 分析任务包含的执行步骤2.提炼步骤,为每个步骤选取输入,设置输出(如果有)3.为步骤创建类,函数,完成步骤定义的动作。检测输入 阅读全文
posted @ 2013-01-06 16:50 让代码飞一会儿 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 虽然看过一遍,但是没有敲过里面的例子和习题。在明白空想与实现的差距之后,我痛定思痛。每天坚持亲手敲码,不cv。最少10题~特此写文 阅读全文
posted @ 2013-01-05 21:17 让代码飞一会儿 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 53.在c++中,通过基类的引用(或指针)调用虚函数时,发生动态绑定。用引用(或指针)调用的虚函数在运行时确定,被调用的函数时引用(或指针)所指对象的实际类型所定义。(延伸阅读《深度探索c++对象模型》)54.接口继承:public派生类继承基类的接口(public成员),因此具有与积累相同的接口。 实现继承:使用private或protected派生的泪不继承基类的接口,也就是说此种继承方式对外提供的访问接口不包含基类的接口部分。55.派生类可以恢复继承成员的访问级别,但不能使访问级别比基类中原来指定的更宽松或更严格。 用法:在派生类中的与基类访问级别相同的标号下使用 using Base: 阅读全文
posted @ 2012-12-31 14:15 让代码飞一会儿 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 第12~14章,主要讲了类的创建的语法规则及应时刻注意的内容,复制构造,赋值操作符,析构函数,重载操作符的规则。高级主题中介绍了,类类型与其他类型的转换通过声明定义类型转换操作符38.类的设计者必须关心类是如何实现的,而使用类的程序员不需要知道类的实现细节。类的使用者只需要知道类提供的接口操作,而不关心类型如何工作。 即是:类的使用者面向接口编程,类的创建者面向实现编程39.在创建类的对象之前,必须要定义类,而不能仅声明类。另,类的前置声明一般用来编写有依赖关系的类。40.const成员函数只能返回一个*this的const引用 即 const T& T::Func(...) cons 阅读全文
posted @ 2012-12-24 09:36 让代码飞一会儿 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 第9~11章 主要学习stl提供的容器,算法的使用。之前都是使用MFC中的容器,在学习了stl中对容器类型和泛型算法的知识后,给自己订下目标:实现一个精简版的stl中基本容器vetor,list,deque和sort,find,replace,copy的算法 31.标准库中定义的三种顺序容器 vector list deque(double-ended queue 发音deck) 32.容器适... 阅读全文
posted @ 2012-12-22 12:13 让代码飞一会儿 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 1.习题10.25的扩展要求:读取本地文件,含有未读和已读及正在读的书籍名称,存放路径从未读选择后,放入正在读的集合中,并从未读列表中删除如果读完则放入已读列表中,并从正在读的集合中删除每本书如果有读书笔记则给出链接(本地或网址)[转自陈硕关于C++的学习的四个练习]一是写一个复数类或者大整数类,实现基本的运算,熟悉封装与数据抽象。二是写一个字符串类,熟悉内存管理与拷贝控制。三是写一个简化的vector<T>类模板,熟悉基本的模板编程,你的这个vector应该能放入int和string等元素类型。四是写一个表达式计算器,实现一个节点类的继承体系(右图),体会面向对象编程。前三个练习 阅读全文
posted @ 2012-12-20 22:11 让代码飞一会儿 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 记录再学习过程中,对c++primer各章节中的一些之前不明白或是忽略的知识点的笔记。第一~七章1.在头文件中,必须总是使用完全限定的标准库名字2.不要把string::size()的返回值赋给一个int的变量,而应使用string::size_type。同样的道理,string对象的索引变量最好也用string::size_type3.在多数计算机上,任何一个大写字母都小于任意的小写字母4.end操作返回的迭代器不指向任何元素,因此不能对它解引用或自增操作。但值不为空5.任何改变vector长度的操作都会使已存在的迭代器失效6.string对象和bitset对象之间是反向转化。 string 阅读全文
posted @ 2012-12-19 21:46 让代码飞一会儿 阅读(355) 评论(0) 推荐(0) 编辑