作者Arton0306 (Ar藤)
看板C_and_CPP
標題[問題] class與常數資料
時間Sun Feb 13 01:36:41 2011
我寫了一個注音輸入法的頁面
目前已經完成
但想到一個問題
因為輸入法一定有一個字碼表
這個字碼表若存在記憶體中約有數k
現在我的寫法像是這樣
static const *char[]={... a lot of string...}
class MyPage: public Page {
...
}
也就是我把表格變成file scope 以方便MyPage中各函數使用
如果我觀念沒錯的話file scope物件的生命週期直至程式結束
這樣等於我為了一個使用者不一定會進來的頁面 配置了數k的記憶體
所以我希望改成放在class中 並且取消static
但遇到一個新的問題
const array無法在初值串列中初始化 除了0以外
我是可以用nonconst來實作
但不知是否有更好的做法或架構??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.140.149
→ loveme00835:把字串存在別的檔案裡, 等到真的有人進來再把檔案部份 02/13 03:44
→ loveme00835:/全部載入到記憶體, 用物件集中管理, 並提供唯讀介面 02/13 03:45
→ loveme00835:東西不一定真的要是 const 02/13 03:46
推 VictorTom:其實OS的輸入法也一樣是不一定會開, 但系統啟動時就跑起 02/13 16:48
→ VictorTom:來佔著資源啊; 再說這種程度的記憶體, OS的記憶體管理機 02/13 16:48
→ VictorTom:制應付起來應該綽綽有餘. 資源很有限的環境就另當別論@@ 02/13 16:49