[英]Does std::list in C++ have a find( ) method?
所以我創建了一個數組列表的數組:
list<string> myArrayOfLists[size];
然后我像這樣往里面塞了一個詞:
myArrayOfLists[index].push_back(word);
然后我試着找一個這樣的詞:
myArrayofLists[index].find(myArrayOfLists[size].begin(), myArrayOfLists[size].begin(), word);
最后一個命令返回了一個錯誤,指出:
no member named 'find' in 'std::list<std::basic_string<char>, std::allocator<std::basic_string<char>>>'
我想如果我導入了<algorithm>
那么為什么我仍然收到錯誤? 有沒有另一種方法可以搜索列表並找到我要找的東西?
只有那些能夠以某種方式有效地找到元素的標准庫容器才有find
成員函數。 對於所有其他容器,請使用std::find
free 函數:
auto it = std::find(x.begin(), x.end(), "needle");
std::cout << (it == x.end() ? "not found" : "found");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.