可以在c ++中使用字典

时间:2013-05-07 11:05:54

标签: c++ dictionary

我一直在查找C#中的字典,它们似乎非常有用,并且想知道是否可以在C ++中使用它们,因为我试图在C ++中搜索字典但是似乎没有相当于我能找到的。是否有某种类型的库我可以下载并包含在项目中,或者是否有一个函数只使用不同的名称来执行相同的操作。

4 个答案:

答案 0 :(得分:16)

STL中有一个相应的类型,称为std::map

它具有与.NET Dictionary相同的基本功能,但实现方式完全不同。 std::map内部基于红黑树数据结构,而Dictionary在内部使用哈希表。

如果您只是寻找具有相同行为的内容,std::map会这样做,但如果您有大量数据,则必须了解不同的性能特征。

答案 1 :(得分:8)

对数访问时间(通常基于树实现)std::mapstd::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"}}