Debug mode下的UniqueID用法以及問題

  • 672
  • 0

因為要查memory leak所以在每個物建產生的時候都給了一個UniqueID...
然後刪除的時候的時候去容器檢查這個uniqueID並把他刪除
最後整個遊戲離開的時候就知道哪些物件是沒有被管理到的...在進去程式裡面修改

因為要查memory leak所以在每個物建產生的時候都給了一個UniqueID...
然後刪除的時候的時候去容器檢查這個uniqueID並把他刪除
最後整個遊戲離開的時候就知道哪些物件是沒有被管理到的...在進去程式裡面修改


可是就在剛剛發生了一個悲劇...
如果兩個物見直接給值...那uniqueID不就一樣了嗎XDDD
所以最後就只能採取最值接的方法
就是採取傳進來的物件的指標去做uniqueID這樣就解決了這個問題...

//物件
NamedTypedObject*pObjectToRemove;
//取出指標的值,並做超簡單hash
int iBucket = ((WCHAR)pObjectToRemove)%DEFAULT_COLLECTION_HASHSIZE;
//存入
s_Lists[ iBucket ].push_back( pObjectToAdd );
離開的時候也一