[問題] directed graph memory leak (用Xcode)

看板C_and_CPP作者 (宇宙學型男)時間10年前 (2015/05/05 18:04), 10年前編輯推噓0(007)
留言7則, 1人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Mac OSX Xcode 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) No 問題(Question): 自己做 directed graph 這個東西 自己看書摸索學 用Linked List來呈現 基本上就是增加某兩點之間的路徑(有方向) 或是刪除路徑 或刪除跟增加點 程式跑的時候沒什麼大問題 但是我通常會給極限測試... 就是把條件設成無限while讓他重複 去看到底會不會有記憶體的問題 之前自我感覺良好感覺沒什麼問題 但是用Xcode的工具去測試的時候一直在我增加路徑這個Function中會有memory leak... 導致memory使用率一直增加 搞了整天一直不知道問題出現在哪邊 程式碼: http://ideone.com/kjCTSa x是我的起點, y是終點 List[x]只是眾多起點其中x這個起點 我只貼增加路徑那個部分(順序目前無視) (其他的地方跑起來沒問題的樣子) 其中: current_node->next = new_node 這行如果註解掉的話就沒有memory的問題 但是我覺得這行應該是沒問題啊... 如果現在這個node的下一個是空的 而且現在的node也不等於我們要增加的(怕重複) 現在這個node就連到新的node 檢測圖: http://i.imgur.com/QnmBf8r.png
http://imgur.com/QnmBf8r,pLSvJTD#1
跪求高手幫我解釋一下到底我哪邊有問題?(還是我腦袋有問題Q_Q) 我願意奉獻部分P幣求解答 拜託各位高手了... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.109.234.170 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1430820255.A.423.html ※ 編輯: Cosmology (140.109.234.170), 05/05/2015 18:06:27

05/05 18:37, , 1F
new_node = NULL; delete new_node; 超乎我的理解
05/05 18:37, 1F

05/05 18:38, , 2F
current_node = List[x]; 也不知道在幹嘛. 無法閱讀 Orz
05/05 18:38, 2F

05/05 18:39, , 3F
current_node 為什麼需要 new. 然後你在 delete 甚麼 ?
05/05 18:39, 3F

05/05 18:41, , 4F
然後邊界條件看起來也是錯的.
05/05 18:41, 4F

05/05 18:42, , 5F
你 new 了沒被指不就悲劇了. 建議你找個 linked list 實作看
05/05 18:42, 5F

05/05 18:43, , 6F
一下.
05/05 18:43, 6F

05/05 18:44, , 7F
code 裡面所有 new 跟 delete 的都有問題 XD
05/05 18:44, 7F
文章代碼(AID): #1LI9MVGZ (C_and_CPP)