作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
发现 std::unordered_set
和 std::unordered_map
具有基于范围的 erase(first, last)
这在我看来是另一种射自己腿的好方法。
也许有人知道此类功能的实际用例?
或者这可能被认为是糟糕的设计?
最佳答案
我认为是为了提供与常规 map 和 set 的兼容性。
但原则上我还是觉得有用。如果某个范围的值已停用,您希望将它们从集合中移除。但是正常的用例是查找(比插入/删除常见一百万倍)并且不遍历,所以无序版本很好。
它怎么能射你?这与循环删除每个没有什么不同。啊,简单的开始,结束范围正向遍历是行不通的,所以你认为提供的函数没有做正确的事,而是做同样的正向范围遍历,这在 map 上是有效的,但在unordered_map?
哎呀,是吗?
关于c++ - std::unordered_(set|map) 基于范围的删除的真实用例是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26951859/
发现 std::unordered_set 和 std::unordered_map 具有基于范围的 erase(first, last) 这在我看来是另一种射自己腿的好方法。 也许有人知道此类功能的
存储在 set 或 unordered_set 中的元素是不可变的。如果更改存储在 set 中的元素,这可能会导致该集合不再正常工作。但是,这是否包括将 shared_ptr 存储在集合中时指向的对象
我是一名优秀的程序员,十分优秀!