上一页 1 ··· 49 50 51 52 53 54 55 56 57 ··· 94 下一页
摘要: http://blog.csdn.net/starlee/article/details/945728 我们知道,在面向对象语言中,公有继承是IS-A的关系,也就是说子类是一种基类,就像说轿车是一种汽车一样。但是,有时候逻辑上正确的公有继承却会违反替换原则。面向对象设计中的替换原则是:子类必须能够替换掉它们的基类。也就是说,代码中基类出现的地方都能用子类来替换,就跟汽车能用的地方都能用轿车一样。但是,如果设计不合理,就会违反这个原则,给开发带来隐患。下面就以一个C++的例子来说明:classCShape{public:virtual~CShape(){};virtualdoubleGetAre 阅读全文
posted @ 2011-12-28 10:21 小 楼 一 夜 听 春 雨 阅读(279) 评论(0) 推荐(0)
摘要: http://blog.csdn.net/starlee/article/details/1485248 ADAPTER模式可以将一个类的接口转换成另外一个接口,那样就可以使原来不兼容而不能一起工作的那些类可以一起工作。 ADAPTER模式也可以称为WRAPPER模式。 对于ADAPTER模式的简单包装功能,下面以STL中的一个例子来说明://下列代码片断摘自VC++6.0中的STACK//可以在..VC98/Include/STACK中找到template<class_Ty,class_C=deque<_Ty>>classstack{public://......va 阅读全文
posted @ 2011-12-28 10:10 小 楼 一 夜 听 春 雨 阅读(243) 评论(0) 推荐(0)
摘要: 1. Havok:老牌的君王,支持功能如下:http://www.havok.com· Collision Detection - including Continuous Physics™· MOPP™ Technology - for compact representation of large collision meshes· Dynamics and Constraint Solving· Vehicle Dynamics· Data Serialization and Art Tool Support· Visual D 阅读全文
posted @ 2011-12-27 23:18 小 楼 一 夜 听 春 雨 阅读(2539) 评论(0) 推荐(0)
摘要: 导读:Brad Feld的一篇文章The Rise of Developeronomics中提到了“10倍效率的开发者(10x developer)”的概念(伟大的开发者的效率往往比一般的开发者高很多,而不只是一点点),Adam Loving在读了之后受到启发,并向多位大牛(Ben Sharpe、Collin Watson和Jonathan Locke)询问如何成为“10倍效率的开发者”,最后得到了以下的答案。1. 只做需要做的工作使用敏捷方法;全心全意做UX设计;沟通第一;编码也许不是解决问题的办法;过早的优化是一切罪恶的根源;选择最简单的解决方案。2. 站在巨人的肩膀上使用开源框架;使用简 阅读全文
posted @ 2011-12-27 10:11 小 楼 一 夜 听 春 雨 阅读(339) 评论(0) 推荐(0)
摘要: http://blog.csdn.net/xushiweizh/article/details/1388982C++内存管理变革许式伟2005-7-16关键字: 内存管理 垃圾回收器 内存配置器 引用计数keyword: memory manage, memory recycler, allocator, reference count引言C/C++语言的内存管理经历了几次变革,但至今仍未能趋于成熟。这几次变革主要包括:1. 从malloc/free到new/delete。这场变革是OOP技术兴起的产物。C++是强类型语言,new/delete的主要成果也就是加强了类型观念,减少了强制类型转换 阅读全文
posted @ 2011-12-26 23:07 小 楼 一 夜 听 春 雨 阅读(371) 评论(0) 推荐(0)
摘要: 1 #include <iostream> 2 #include <crtdbg.h> 3 using namespace std; 4 5 #ifdef _DEBUG 6 #define new new(_NORMAL_BLOCK, __FILE__, __LINE__) 7 #endif 8 9 void EnableMemLeakCheck()10 {11 int tmpFlag = _CrtSetDbgFlag( _CRTDBG_REPORT_FLAG );12 tmpFlag |= _CRTDBG_LEAK_CHECK_DF;13 _CrtSetDbgF... 阅读全文
posted @ 2011-12-26 22:52 小 楼 一 夜 听 春 雨 阅读(872) 评论(0) 推荐(0)
摘要: ClipCursor 函数功能:该函数把鼠标限制在屏幕上的一个矩形区域内,如果调用SetCursor或用鼠标设置的一个随后的鼠标位置在该矩形区域的外面,则系统自动调整该位置以保持鼠标在矩形区域之内。 函数原型:BOOL ClipCursor(CONST RECT * lpRect); 参数: IpRect:指向RECT结构的指针,该结构包含限制矩形区域左上角和右下角的屏幕坐标,如果该指针为NULL(空),则鼠标可以在屏幕的任何区域移动。 返回值:如果成功,返回值非零;如果失败,返回值为零。若想获得更多错误信息,请调用GetLastError。 备注: 1.光标是一个共享资源,如果... 阅读全文
posted @ 2011-12-26 16:49 小 楼 一 夜 听 春 雨 阅读(3190) 评论(0) 推荐(0)
摘要: UI控件都是图片渲染而成的。。 我采用ID3DXSperite的Draw()方法来渲染2D图片,在进行控件的鼠标检测时遇到问题。。。。有些区域检测不到,后来查了一下觉着是创建窗口的问题。 比如: #define WINDOW_WIDTH 800#define WINDOW_HEIGHT 600 #d 阅读全文
posted @ 2011-12-23 15:50 小 楼 一 夜 听 春 雨 阅读(578) 评论(0) 推荐(0)
摘要: 两种办法:1. atoi()2. int x = 'x' - '0'; 阅读全文
posted @ 2011-12-23 15:22 小 楼 一 夜 听 春 雨 阅读(552) 评论(0) 推荐(0)
摘要: 最有效的办法就是用std::remove(); std::remove_if()算法。。。。。别用for循环来删除。。。。。很容易出错。 阅读全文
posted @ 2011-12-20 21:39 小 楼 一 夜 听 春 雨 阅读(231) 评论(0) 推荐(0)
上一页 1 ··· 49 50 51 52 53 54 55 56 57 ··· 94 下一页