[問題] mutable成員的用法

看板C_and_CPP (C/C++)作者 (inker)時間12年前 (2014/01/17 10:34), 編輯推噓0(004)
留言4則, 3人參與, 最新討論串1/1
先描述一下剛寫C++ code遇到的狀況: 某個class裡有一個作大量計算的method, 為避免重複計算,我希望可以找一個變數可以來暫存他的結果。 因為該code是從java改過來的,他原本是用一個暫存member去存結果 但那個method除了會access到該暫存成員外 基本上行為是const的(不會動到其他成員) 直覺上我想到mutable這個關鍵字來宣告該暫存成員。 雖然後來測試發現用static變數暫存好像也可以編過 想請教一下有沒有人遇過類似的情形,可以分享一下解法。 順便問一下mutable有哪些情形應該用或不應該誤用的? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 15.211.131.254

01/17 10:36, , 1F
用static是錯誤的 他會影響到同class的所有物件
01/17 10:36, 1F

01/17 10:37, , 2F
mutable的主要功能就是cache計算結果
01/17 10:37, 2F

01/17 10:46, , 3F
Thx 我以為local static是跟object記憶體一起配出來的
01/17 10:46, 3F

01/17 14:20, , 4F
講local static就和講public private一樣意味不明
01/17 14:20, 4F
文章代碼(AID): #1Is9QwfF (C_and_CPP)
文章代碼(AID): #1Is9QwfF (C_and_CPP)