1.计算数据组动态变化长度,需要每次清空、分配以及初始化,以免非法数据使用造成错乱
void functionCalc(){
...//calc1
arry.RemoveAll();
arry.SetSize( nCount1 );
...//calc2
arry.RemoveAll();
arry.SetSize( nCount2 );
...//calc3
}
2.NULL指针的非法定义值,有的地方把NULL赋值为 -1
long pt = 0; //-1
if(pt != 0 && pt != -1){
((Interface*)pt)->show();
}
3.加锁顺序引起死锁的问题
...
A.lock()
B.lock()
...
A.unlock()
B.unlock()
...
注意:正确的是B先解锁,A再解锁。
4.POI点击顺序和绘制顺序应该相反
//draw
for(int i=0; i<n; ++i){obj->draw();}
//hit
for(int i=0; i<n; ++i){obj->hit();}