[問題] 關於pointer allocate memory問題?

看板C_and_CPP (C/C++)作者 (晃晃)時間11年前 (2015/04/14 16:33), 編輯推噓2(204)
留言6則, 6人參與, 最新討論串1/1
想請問一個關於pointer觀念上的問題 就是int *pc = new int ; 這個pc跟記憶體要的空間是如何決定是否是可用的memory? 舉例來說 若有個function int sub&( int&a, int&b){ int *pc = new int; *pc = a-b ; return (*pc); } 這樣離開這個function後 pc被delete掉 但他所allocate的空間被reference出去 這個空間是有可能會被其他function所動到嗎? 一些關於pointer的觀念越想越模糊 因此上來請問各位 若有表達不清楚敬請見諒 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.4.194 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1429000426.A.284.html

04/14 16:40, , 1F
好像 C# 喔
04/14 16:40, 1F

04/14 17:04, , 2F
外面有東西接指標的話就可以存取
04/14 17:04, 2F

04/14 17:05, , 3F
儘量不要這樣用 容易memory leak ..
04/14 17:05, 3F

04/14 17:13, , 4F
不建議這樣用, 在哪裡new就在哪裡delete
04/14 17:13, 4F

04/14 21:39, , 5F
OS會管理,還有SWEAP,不然5G程式怎載入4G記憶體?
04/14 21:39, 5F

04/14 22:33, , 6F
外面要用reference接,不然會leak,接了沒delete一樣leak
04/14 22:33, 6F
文章代碼(AID): #1LBD3gA4 (C_and_CPP)
文章代碼(AID): #1LBD3gA4 (C_and_CPP)