水木社区手机版
首页
|版面-C++程序设计语言(CPlusPlus)|
新版wap站已上线
返回
1/1
|
转到
主题:比起std::unordered_map,还有使用std::map的必要吗?
3楼
|
ilovecpp
|
2020-06-16 15:43:25
|
展开
不见得,比如linux kernel就用了很多rbtree。
特别是你的数据如果是用户可以操纵的,用hash有被DoS攻击的可能。
【 在 here080 的大作中提到: 】
: 正常不应该这么想吧。如果你的数据居然能全hash到一块,这里面可能有别的问题了。
--
FROM 101.84.17.*
6楼
|
ilovecpp
|
2020-06-16 17:43:19
|
展开
还有一个问题是hash insert可能触发resize,不适合有一定实时性要求的地方。
另外stl的容器不会自动shrink,大量插入又大量删除之后遍历很慢,也是很多人掉过的坑。
rbtree平均较慢,但很少有不适合的场景。hash容易被用错的地方多一些。
【 在 here080 的大作中提到: 】
: 对啊,这就是我说的“别的问题”。
: 我很难想象有一个场景会将大量不同用户输入的数据放入同一个容器中。
--
FROM 101.84.17.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版