看板 EE_DSnP 關於我們 聯絡資訊
解決了!!!! 所以像是 vector< T* > newGrps 這種local variable 並不能期待他在scope結束的時候自動destruct並釋放指向 T 的記憶體 所以必須在最後補上 for(size_t i=0; i<newGrps.size(); i++) delete T; 才能正確地釋放記憶體 ※ 引述《rf0914 (<-使用者代號)》之銘言: : 如題 : 我的cirsim -r隨著pattern的次數增加呈線性的成長... : 32000個pattern的時候就花了183M Byte : 反觀老師的simulation幾乎沒有增加記憶體的使用量 : 我是用老師的那種架構initFEC(); checkFEC(); 來寫 : HashData也是 vector<unsigned>* : Hash的destructor裡面寫了reset(); delete [] _buckets; : 在checkFEC()裡面也沒有亂new甚麼東西 : 不知道還有甚麼地方可能會漏記憶體是我沒想到的 @@ : 我在想我一定是有誤會了甚麼才會這樣... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.243.229 ※ 編輯: rf0914 來自: 140.112.243.229 (01/16 05:05)
j0214ack:所以問題是在pointer沒有destructo吧? 01/16 09:44
j0214ack:可是那個T*是new出來的嗎@@? r 01/16 09:45
rf0914:是的 01/16 13:29
OckhamsRazor:不是new出來就沒事吧@@ 01/16 14:18