當我保存一個字符串對象轉換成一個std ::地圖地圖中的字符串如何存儲?
std::map<std::string, SomeOtherData> map;
如何字符串將被存儲在哪裏?我瞭解到std :: map經常以紅黑樹的形式實現,但是如何將字符串存儲在那裏呢?作爲trie?
當我保存一個字符串對象轉換成一個std ::地圖地圖中的字符串如何存儲?
std::map<std::string, SomeOtherData> map;
如何字符串將被存儲在哪裏?我瞭解到std :: map經常以紅黑樹的形式實現,但是如何將字符串存儲在那裏呢?作爲trie?
如果你的意思是每個節點有一個字符的實現 - 答案是否定的,那麼每個節點都存儲std :: string,因此如果你打算使用std :: strings作爲鍵,你可以看看Ternary Trie (據我記憶,由Sedgewick提議)
做'std string per node'是指指針還是整個對象?他們是按字典順序排列的嗎? – Albert
與許多其他的事情:取決於你的STL的實現 – BeyelerStudios