2012年11月6日

摘要: http://blog.csdn.net/talentluke/article/details/6101748 阅读全文
posted @ 2012-11-06 17:04 _Smileヾ 阅读(176) 评论(0) 推荐(0) 编辑
 
摘要: 1 因为a++有一个压栈的操作,压入堆栈以后,变量是不能再被改变的。2 一行语句先执行所有的左++,再执行当前行语句,再执行当前行所有右++(++a)+=a;拆开写相当于:++a;a+=a;(++a) += (a++);拆开写相当于:++a;a+=a;a++;3 (++a)= (++a)+ (a++);拆开写相当于:++a;++a;a=a+a;a++; (++a)= (a++)+ (++a);拆开写相当于:++a;++a;a=a+a;a++;两个表达式是一样的。 阅读全文
posted @ 2012-11-06 16:14 _Smileヾ 阅读(375) 评论(0) 推荐(0) 编辑
 
摘要: http://bbs.9ria.com/forum-73-1.html 阅读全文
posted @ 2012-11-06 11:19 _Smileヾ 阅读(160) 评论(0) 推荐(0) 编辑
 
摘要: 这里有三点很重要: 1.每个成员分别按自己的方式对齐,并能最小化长度。2.复杂类型(如结构)的默认对齐方式是它最长的成员的对齐方式,这样在成员是复杂类型时,可以最小化长度。3.对齐后的长度必须是成员中最大的对齐参数的整数倍,这样在处理数组时可以保证每一项都边界对齐 阅读全文
posted @ 2012-11-06 11:09 _Smileヾ 阅读(168) 评论(0) 推荐(0) 编辑

2012年10月28日

摘要: http://www.cnblogs.com/lebronjames/archive/2010/08/11/1797419.html 阅读全文
posted @ 2012-10-28 11:40 _Smileヾ 阅读(132) 评论(0) 推荐(0) 编辑

2012年10月27日

摘要: http://www.cnblogs.com/hicjiajia/archive/2010/08/27/1810055.html 阅读全文
posted @ 2012-10-27 22:25 _Smileヾ 阅读(197) 评论(0) 推荐(0) 编辑

2012年10月26日

摘要: 如何修改bug(二)-bug的修改流程 一.前言 我发现很多程序员都在改bug,总在改bug。但是很多人没有思考过什么是修改bug的正确方法,如何高效率的修改bug,如何避免改了一个bug又被测出另外一个bug(我称为连环bug);还有就是,为什么我们的系统越做越不稳定了,bug越改越多了。 我总... 阅读全文
posted @ 2012-10-26 19:01 _Smileヾ 阅读(4901) 评论(0) 推荐(1) 编辑

2012年10月20日

摘要: 类对象的构造顺序是这样的: 1.分配内存,调用构造函数时,隐式/显示的初始化各数据成员 初始化阶段可以是显式的或隐式的,取决于是否存在成员初始化表。隐式初始化阶段按照声明的顺序依次调用所有基类的缺省构造函数,然后是所有成员类对象的缺省构造函数。 2.进入构造函数后在构造函数中执行一般计算 计算阶... 阅读全文
posted @ 2012-10-20 11:44 _Smileヾ 阅读(4222) 评论(1) 推荐(0) 编辑

2012年10月18日

摘要: 一直都没搞清楚dot(a,b) = |a|*|b|*cos是怎么推导出来的。很多公式推导都用到它,所以特地查了下,结果在gamedev上找到了答案。 其实很简单,wiki上说点乘的定义式是dot(a,b) = sum(a1*b1,a2*b2,...),简单的二维就是dot(a,b) = a1*b1+... 阅读全文
posted @ 2012-10-18 09:53 _Smileヾ 阅读(2372) 评论(0) 推荐(0) 编辑

2012年10月12日

摘要: class B{ public : virtualvoid m1(); virtualvoid m2(); }; class D : public B{ virtualvoid m1(); } C++的动态绑定使用vtable(虚成员函数... 阅读全文
posted @ 2012-10-12 20:14 _Smileヾ 阅读(3917) 评论(0) 推荐(0) 编辑