代码改变世界

阅读排行榜

任何时候都适用的20个C++技巧 <1-4> (The Top 20 C++ Tips of All Time <1-4>)

2010-11-30 14:25 by 凌云健笔, 3019 阅读, 收藏,
摘要: 这些小技巧之所以特别,是因为这些信息通常吧不能在C++书籍或者网站上找到。比如说,成员指针,即使对于高级程序员也是比较棘手,和易于产生bugs的,是应该尽量避免的问题之一。 <翻 by凌云健笔>What makes these tips special is that the information they provide usually cannot be found in C++... 阅读全文

游戏开发框架图

2012-01-18 01:35 by 凌云健笔, 2796 阅读, 收藏,
摘要: 作为一个游戏的设计者开发者,你必须要时刻保持清醒的头脑,能够从宏观上把握整个游戏,知道游戏到底应该是什么样子。这是2010年做的一张图;这种图也是当时基于自己对客户端游戏的一些理解而画的;其主要说明游戏开发的主要框架。我将游戏开发划分成多个模块,这些模块一起构成了游戏的主框架:时至今天,虽然有些地方值得商榷,特别是针对一些新平台、新技术的游戏开发而言,但是其核心还是没变的。这里不做详细讨论。以此抛砖引玉,望各位大牛们热烈讨论!!作者: 凌云健笔出处:http://www.cnblogs.com/lijian2010/版权:本文版权归作者和博客园共有转载:欢迎转载,为了保存作者的创作热情,请按要 阅读全文

“表驱动”那点事儿。。。Somethings About Table Driven Method

2010-12-16 16:43 by 凌云健笔, 2760 阅读, 收藏,
摘要: 1、为什么是“表驱动”?!  表驱动法,英文为Table driven method,是一种使你可以在表中查找信息,而不必用很多的逻辑语句(if或Case)来把它们找出来的方法。它是一种设计模式,可用来代替复杂的if/else或者switch-case逻辑判断。某种意义上说,任何信息都可以通过“表”来挑选。在简单的情况下,逻辑语句往往更简单而且更直接。但随着逻辑链的复杂,表就变得越来越富有吸引力了。 2、先看个例子。。  先看baidu 百科中的一个例子。一个比较笨的方法是循环的使用if语句,可以看出本来应该很简单的一件事情,代码却是这么冗余,解决这个的办法就可以用表驱动方法。[代码]  我们 阅读全文

任何时候都适用的20个C++技巧 <14-20> STL and Generic Programming

2010-12-09 13:54 by 凌云健笔, 2696 阅读, 收藏,
摘要: 标准模板库和通用编程  标准模板库(STL)给C++程序员编写代码的方式带来了革命性的影响。这样的代码重用将生产力水平提升到了更高的水平,节省了大量的时间,避免了重复性的劳动。然而,STL是一个具有特殊术语和复杂规则的、比较全面的框架,如果你想更好的去应用它,那么你只能去掌握它,“知己知彼方能百战不殆”吗。为了更深入地了解STL某些方面的情况,这大类中将包含6个小技巧。  第一个技巧将介绍一下STL的基本组成和一些关键术语。接下来的小技巧则集中于模板定义这一方面。正如你所知,模板是STL容器和算法最基础的“建筑材料”。接下来的三个小技巧将依次描述如何使用标准库中应用最为广泛的容器 - vect 阅读全文

任何时候都适用的20个C++技巧 <9-11> 性能的提升

2010-12-06 15:33 by 凌云健笔, 2189 阅读, 收藏,
摘要: Nine to 11: Performance Enhancements下面所列出的是三个相当简单但又不是很常见的技术,在不牺牲程序可读性、不修改程序设计的前提下,提高程序的性能。例如,程序员往往不太清楚,只是简单的对数据成员进行重新排序就可以大大减少它的大小。这种优化可以提高性能,如果应用程序使用到了这些对象的数组,效果尤其明显。此外,我们还将学习前缀和后缀操作符之间的差异;在重载操作符中,这是一个很重要的问题。最后,我们将学习一些消除临时对象的创建的方法。技巧9:类成员对齐方式的优化  只需改变类成员的声明顺序就可以改变这个类的大小:[代码]  在我的机器上,sizeof (A) 等于12 阅读全文