在設計 editor、game 或是實現軟體系統中的 heuristic algorithm 等情況下,常需要設計 save/load 或 undo 之類的還原功能。學過 design pattern 的人大都知道 memento 和 command 這兩個 pattern。通常比較簡單的東西靠 command pattern 就能順便做出 undo 功能了,但是在其它比較複雜的狀況下就需要靠 memento pattern 來幫忙,將物件的狀態儲存起來以便隨時復原。有些語言如 Java 提供了將物件本身序列化 (serialize) 的機制,所謂序列化就是把物件狀態變成一串資料儲存起來。這樣就可以做到和 memento 相同的功能,更進一步的話還能將序列化後的資料存在 disk 上或透過網路傳遞。C++ 語言本身沒有支援 serialization 的功能,所以 boost 以 library support 的形式做了一個類似的。內建的支援有 binary、text 和 xml 三種輸出格式。這篇只會出現 text,反正用法都沒差 (唯一要注意的就是 binary 並非 portable)。
Boost.MultiIndex
很久沒發程式文了。
最近常到處在網路上亂逛,
發現 boost 在台灣真的是沒什麼人在用。
應該說 C++ 普及的程度實在太低了,
看來還是放一點東西比較好...
不過用 1280x1024 解析度 + IE7 來讀這篇大概 code 右半邊會無法顯示,
懶得玩複製貼上的話就乖乖切到 1920x1200 或用 firefox 吧 (字會小一點但是很難看);
不然就等我有空去改改 css。
愚人節活動
順帶一提, 假裝中招的人還蠻多的。
卡卡獸...
那麼這裡並沒有你要的答案。
ptt 搞出來的東西,
不知道幾時有的,
今天一直看到,
可是為什麼要叫卡卡獸呢?
這是什麼梗嗎?
聽說連刪七篇就會出現,
每次 page up <-> page down 位置都會變,
眨眼的版本要出現比較不容易。
上次參加 conference 住的地方
因為好奇 Google Earth 照美國那邊照得怎樣,
就順便找了一下上次去 San Deigo 住的飯店,
美國那邊的解析度好像都不錯...
Spam Karma 2 的 default rules
原來 reply 已經 post 很久的東西也會 -4 分, 真服了設計的人... [crayon-6622c ...
Vista 的 PrintScreen key 會跨螢幕抓圖
As title 而且兩個螢幕不同解析度的話還會依照相對位置的設定留黑(螢幕不夠大的請勿亂點,小心找不到地方關 ...
VP-UML 6.2 的 Acitivity Diagram 測試
因為真的非常迫切需要有一套完全支援 UML 2.x 的 tool 來畫圖,
去年開始就非常努力的到處找來找去,
雖然著名的 RSA (Rational Software Architect) 還不錯,
也很方便 run RUP (Rational Unified Process) 的流程,
但是它的 UML 2.x 支援度實在是太爛了...
最後找上了 Google 裡打廣告打最大的 Visual Paradigm 這家公司的產品 VP-UML。
MS IME 的日文輸入模式切換
最近常聽到小朋友問這問題... 用英文鍵盤 + MSIME 日文輸入法不知道怎樣在英數、平假、片假模式間切換: ...
花蓮的山豬
新聞在報的