C++中的map类提供了find和lower_bound两种用于查找元素的方法。它们的区别在于:
map.find(key):find方法用于在map中查找与指定键匹配的元素。如果找到了该键对应的元素,则返回一个指向该元素的迭代器;如果未找到该键对应的元素,则返回一个指向map末尾的迭代器(即map.end())。因此,find方法可以用来判断某个键是否存在于map中。
map.lower_bound(key):lower_bound方法用于在map中查找第一个大于或等于指定键的元素。如果找到了大于或等于该键的元素,则返回一个指向该元素的迭代器;如果未找到这样的元素,则返回一个指向map末尾的迭代器(即map.end())。因此,lower_bound方法可以用来获取指定键在map中的位置,或者用来获取比指定键大的第一个元素。
综上所述,find方法用于精确查找指定键,而lower_bound方法用于查找大于或等于指定键的元素。在实际应用中,可以根据具体的需求选择使用哪种方法。