[問題] class與常數陣列

看板C_and_CPP作者 (Ar藤)時間15年前 (2011/02/13 01:36), 編輯推噓1(105)
留言6則, 2人參與, 最新討論串1/1
我寫了一個注音輸入法的頁面 目前已經完成 但想到一個問題 因為輸入法一定有一個字碼表 這個字碼表若存在記憶體中約有數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

02/13 03:44, , 1F
把字串存在別的檔案裡, 等到真的有人進來再把檔案部份
02/13 03:44, 1F

02/13 03:45, , 2F
/全部載入到記憶體, 用物件集中管理, 並提供唯讀介面
02/13 03:45, 2F

02/13 03:46, , 3F
東西不一定真的要是 const
02/13 03:46, 3F

02/13 16:48, , 4F
其實OS的輸入法也一樣是不一定會開, 但系統啟動時就跑起
02/13 16:48, 4F

02/13 16:48, , 5F
來佔著資源啊; 再說這種程度的記憶體, OS的記憶體管理機
02/13 16:48, 5F

02/13 16:49, , 6F
制應付起來應該綽綽有餘. 資源很有限的環境就另當別論@@
02/13 16:49, 6F
文章代碼(AID): #1DLiKihU (C_and_CPP)