我一直在查找C#中的字典,它们似乎非常有用,并且想知道是否可以在C ++中使用它们,因为我试图在C ++中搜索字典但是似乎没有相当于我能找到的。是否有某种类型的库我可以下载并包含在项目中,或者是否有一个函数只使用不同的名称来执行相同的操作。
答案 0 :(得分:16)
STL中有一个相应的类型,称为std::map
。
它具有与.NET Dictionary相同的基本功能,但实现方式完全不同。 std::map
内部基于红黑树数据结构,而Dictionary
在内部使用哈希表。
如果您只是寻找具有相同行为的内容,std::map
会这样做,但如果您有大量数据,则必须了解不同的性能特征。
答案 1 :(得分:8)
对数访问时间(通常基于树实现)std::map
和std::unordered_map
(自C ++ 11以来)预期的常量,最坏情况线性访问时间(通常基于散列)实现)。
答案 2 :(得分:6)
std::map就像Dictionary
。
答案 3 :(得分:0)
我们可以在C ++中使用map 使用地图的基本格式是-
std::map<Key_type, Value_Type> ;
示例-
std::map<std::string,std::string> x = {{"A","ABC"},{"B","DEF"}}