Re: [程式] 記憶體的問題

看板GameDesign (遊戲設計)作者 (快點放長假吧@@)時間18年前 (2007/08/20 12:03), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/7 (看更多)
※ 引述《littleshan (我要加入劍道社!)》之銘言: : ※ 引述《moonjustin (快點放長假吧@@)》之銘言: : : 大家好, : : 想請問一下, : : 當寫了一個Class, : : 裡面有一個member function是每個frame都會重複呼叫 : : 那麼這時候裡面用到的變數是應該: : : 1.宣告成local variable : : 缺點:會重複存取記憶體,感覺很花時間。 : : 2.宣告成data member : : 缺點:一但宣告後會一直佔據記憶體,變數一多會不會把記憶體都佔光了? : : 謝謝各位。 : 要用 local variable 或是 member variable 是取決於 lifetime : 如果你希望這個變數的值可以保留到下個 frame : 就應該用 member variable : 否則應該用 local variable : 至於你說的缺點...使用 local variable 時 : 若這些變數是 class 而且有 ctor/dtor : 那每次進出函式都會呼叫一次 : 效率上會比使用 member variable 還要差 : 不過如果是 native type 就沒什麼差別了 順便問一下, 宣告local變數會造成記憶體破碎的問題嗎? 另,如果現在跟系統要了一塊記憶體, 之後先歸還了一部份記憶體, 那麼系統會知道現在這塊free的記憶體在哪裡嗎? 謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.220.110.100
文章代碼(AID): #16oH9ubY (GameDesign)
文章代碼(AID): #16oH9ubY (GameDesign)