作者moonjustin (快点放长假吧@@)
看板GameDesign
标题Re: [程式] 记忆体的问题
时间Mon Aug 20 12:03:01 2007
※ 引述《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