find_unordered
时间: 2024-03-01 17:47:39 浏览: 63
find_unordered是一个函数,用于在无序容器中查找指定元素的位置。它可以用于unordered_set、unordered_map和unordered_multiset等容器。
该函数的语法如下:
```cpp
template <class UnorderedContainer>
typename UnorderedContainer::iterator find_unordered(UnorderedContainer& container, const typename UnorderedContainer::key_type& key);
```
参数说明:
- container:无序容器,可以是unordered_set、unordered_map或unordered_multiset等。
- key:要查找的元素。
返回值:
- 如果找到了指定元素,则返回指向该元素的迭代器。
- 如果未找到指定元素,则返回容器的end()迭代器。
使用示例:
```cpp
#include <iostream>
#include <unordered_set>
template <class UnorderedContainer>
typename UnorderedContainer::iterator find_unordered(UnorderedContainer& container, const typename UnorderedContainer::key_type& key) {
for (auto it = container.begin(); it != container.end(); ++it) {
if (*it == key) {
return it;
}
}
return container.end();
}
int main() {
std::unordered_set<int> mySet = {1, 2, 3, 4, 5};
auto it = find_unordered(mySet, 3);
if (it != mySet.end()) {
std::cout << "Found: " << *it << std::endl;
} else {
std::cout << "Not found" << std::endl;
}
return 0;
}
```
输出结果:
```
Found: 3
```
阅读全文