由于 std::set
不能包含重复元素并且总是排序的,std::set::equal_range
将始终返回没有元素或只有 1 个元素的范围.从技术上讲,是的,这仍然是一个范围,但是这个算法的目的是什么?对于 std::set
来说似乎完全没有必要。
最佳答案
我只是猜测。但是,like count()
,当您在模板中并且不想确定您是在 std::set
还是其他关联容器上操作时,它有一些值(value)。
基本上,这是为了保持一致性。该函数确实按照宣传的那样执行,只是它有问题使用 versus 如果您孤立地使用 find()
之类的东西。如果您真的想要开箱即用的半开范围,它确实可以为您节省一个手动迭代器增量。 :P
关于c++ - std::set::equal_range 有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48856274/