的優點在容器的find
方法中使用C++ 11的std::find
有什麼好處嗎?std :: find
在
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'。 –
如果存在,則使用成員函數,如果不存在,則使用'std :: find'。 –
如果你知道你的std :: vector實際上是排序的,那麼總是有使用std :: lower_bound()做二分搜索的選項。 – Adam