我试图使自己熟悉C++中的映射,并且还试图理解可以在其上使用的一些基本操作。但是,我不了解的仅有两个是lower_bound()
和upper_bound()
。我已经多次查询了他们,但不了解他们在做什么。有人可以澄清一下吗?
最佳答案
下限和上限可能更容易理解为equal_range
。equal_range
返回一对迭代器,当将其视为半开间隔时,它们是与传递的键等效的值(在<
下)。
一旦掌握了这一点,lower_bound
将返回equal_range
的第一个“开始”迭代器,upper_bound
返回equal_range
的最后一个“结束时一个”迭代器。
直接指定它们会导致您很尴尬的阅读,这可能会让您感到困惑:“第一个元素不少于”等。在他们的正确思维中,没有人以这种方式思考它们,除非在狭窄的情况下。
关于c++ - map::lower_bound()和map::upper_bound在C++中如何工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52434813/