是否使用C++11的std::find函数比容器自带的find方法要更加优越?
- 在std::vector这种没有find方法的情况下,std::find是使用智能算法还是朴素方式遍历每个元素呢? - 在std::map这种情况下,似乎需要传递一个std::pair作为参数,这是std::map的value_type。这看起来并不是很实用,因为通常你想查找的是键或映射元素。 - 对于其他容器,如std::list、std::set或std::unordered_set等呢?
- 在std::vector这种没有find方法的情况下,std::find是使用智能算法还是朴素方式遍历每个元素呢? - 在std::map这种情况下,似乎需要传递一个std::pair作为参数,这是std::map的value_type。这看起来并不是很实用,因为通常你想查找的是键或映射元素。 - 对于其他容器,如std::list、std::set或std::unordered_set等呢?
std::map
上使用std::find_if
来仅比较键。但是在这种情况下最好使用find
成员函数,因为它更高效。然而,如果出于某种原因你想按值搜索映射,那么你可以在这种情况下使用find_if
。 - Benjamin Lindleystd::find
。 - Mooing Duck