可以在c ++中使用字典

Ell*_*ott 15 c++ dictionary

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

And*_*bel 16

STL中有一个相应的类型,即调用std::map.

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

如果你只是在寻找具有相同行为的东西,那么std::map就可以了,但是如果你有大量数据,你必须要注意不同的性能特征.

  • unordered_map :) (12认同)
  • `std :: unordered_map`使用哈希表(比如C#的`Dictionary')实现字典功能--__ IF__你有C++ 11 (2认同)
  • @SchighSchagh:嗯,总有`boost :: unordered_map`;否则;) (2认同)

Rei*_*ica 8

std::map对数访问时间(通常基于树实现)和std::unordered_map(自C++ 11以来)预期的常量,最坏情况线性访问时间(通常基于散列实现).


For*_*veR 6

std :: map就像一个Dictionary.