Re: [問題] 如何將不同data type的資料儲存在同一긠…
※ 引述《eagle32 (LUCKY STRIKE)》之銘言:
: 我需要把不同data type的資料
: 儲存到同一個vector內
: 該怎麼辦到呢?
回個文好了,用 boost::any。
http://www.boost.org/doc/libs/1_44_0/doc/html/any.html
不知道你的需求是什麼,當時我用是為了做
any-type dictionary (mapping),方便讀一些 config file,
而當時又沒找到順眼的 mark up language 和對應的 c++ binding,
XML 我是絕對第一個直接跳過的,yaml 看過但覺得還是不太對勁,
後來想想只是需要一個 dictionary serialize-in 功能,
就硬幹了一套。
現在回頭看問題不少,功能也有點半殘,key 只能用 int or string
value 也只能對應一些簡單的 type,但還算堪用
可以參考看看:
http://github.com/godfat/cubeat/blob/master/cubeat-core/
include/utils/dictionary.hpp
http://github.com/godfat/cubeat/blob/master/cubeat-core/
src/utils/dictionary.cpp
你要 vector to any-type 的話,我這裡面 vector_any 就是了。
不過大概就不要期望效率了,慢好幾倍。
所以有瞬間大量存取的 case 請小心 ....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.72.57.78
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章