C/C++
文章平均质量分 51
Mouse3D
这个作者很懒,什么都没留下…
展开
-
Effective C++ 笔记
几乎所有的基类都包含虚函数。 如果某个类不包含虚函数,那一般是表示它将不作为一个基类来使用。当一个类不准备作为基类使用时,使析构函数为虚一般是个坏主意。 对于没有声明相应参数为const的函数来说,传递一个const对象是非法的。 当定义自己的赋值运算符时,必须返回赋值运算符左边参数的引用,*this。如果不这样做,就会导致不能连续赋值,或导致调用时的隐式类型转换不能进行,或两种情况同时发生。 为原创 2006-01-01 09:40:00 · 1569 阅读 · 0 评论 -
我所遇到的LNK2005问题。
在写数学库时,很无奈的遇到莫名其妙的LNK2005错误——类似:AAA.obj error LNK2005 int book c?book@@3HA already defined in BBB.obj的一堆东西。。。说这些函数在另一个只调用该函数的而压根儿没有定义的文件里已有定义,汗。。。 看msdn只觉得一头雾水,全局变量、第三方库文件我都没有用到啊。到网上搜索,竟然原创 2006-01-07 10:59:00 · 2113 阅读 · 1 评论 -
Carmack的Inverse Square Root( 就是1/sqrt(x) )的函数
大概意思,在QuakeIII的源代码里,有1个求Inverse Square Root( 就是1/sqrt(x) )的函数,Carmack实现的算法在有的CPU上,比正常的(float)(1.0/sqrt(x))快了4倍!(上面这个表达式里的sqrt(x)还是直接调汇编指令fsqrt来算的!!!)Carmack的代码如下:float Q_rsqrt( float number ){long转载 2006-03-29 17:47:00 · 5674 阅读 · 3 评论