【发布时间】:2016-03-19 02:33:04
【问题描述】:
MFCCMap比std::unordered_map或std::map性能好么,我问这个问题是因为我要在我公司开始一个项目,为了加快开发我要开始使用现有的“类似”项目,但在最后一个项目中,有 MFC CMap(哈希表映射),我认为使用 std::unordered_map 可能会提高性能。我在互联网上没有找到任何与CMap 相关的基准或好文章。
否则,对于std::unordered_map,我是否必须像在CMap 中那样修复哈希表的大小以避免冲突和性能问题?
【问题讨论】:
-
我在网上没有找到任何与 CMap 相关的基准或好文章你为什么不自己用类似的数据集进行基准测试您将在生产中使用的硬件上使用什么?
-
CMap 没有移动支持(如果你想从函数中返回一个,你必须始终将它作为输出参数传递)并且不会在手表中显示任何有用的东西调试器中的窗口。您还必须编写
CMap<int, const int&, CString, const CString &> map;之类的代码,而不是std::unordered_map<int, const CString> map;。如果我是你,我什至不会考虑使用它——但这取决于你。 -
CMap 是一个过时的、不可携带的恐怖节目。帮我们一个忙:使用标准容器,帮助永远埋葬 MFC。
-
在
std::map或std::unordered_map之间选择新的 MFC 项目。我会远离所有 MFC 容器,除了CString--- 另请参阅std::mapversusstd::unordered_map -
@Aminos 我理解这个问题,但是笨蛋软件经理需要接受教育,否则软件开发的纪律将被 MFC 再拖 20 年......
标签: c++ mfc hashmap unordered-map