2010-09-10 50 views
6

是否有任何良好的基於​​文件的key-> value數據結構在C++中可用。在C++中是否有任何有名的基於文件的key-> value datastructure?

類似於插入/刪除/獲取O(logn)的std :: map(基於模板)。

+2

這不是你的問題的真正答案,所以我只是作爲評論添加它。你有沒有考慮過使用數據庫?特別是,我正在考慮將sqlite作爲可以嵌入到C++應用程序中而不需要太多努力的東西。 – 2010-09-10 10:18:58

+0

如果可能的話,我是尋找一個普通的數據結構沒有數據庫。 – aeh 2010-09-10 10:46:12

+2

無論如何它將基於文件,這似乎是一個奇怪的要求 – jalf 2010-09-10 10:55:25

回答

13

STXXL - 用於XXL數據集的標準模板庫實現了基於文件的容器。

stxxl :: map與std :: map非常相似,基於B+ tree,具有插入/刪除/獲取O(logn)。

1

你可以看看Oracle Berkeley DB它提供了你需要的底層密鑰,數據存儲機制或者已經建議的sqlite。

0

也許你可以將自己的模板機制添加到像redist這樣的數據庫。如果你有一個基於字符串的數據庫,你需要一些方法來序列化/反序列化你自己的對象。也許谷歌協議緩衝區或一個自定義的JSON/XML導出器/導入器爲你做,取決於你是否只想要速度或易於使用。

相關問題