c++ 判断stdset里的元素有没有在stdmap中
您可以通过使用std::set和std::map的成员函数来判断set中的元素是否在map中。
以下是一个示例代码:
#include <iostream>
#include <set>
#include <map>
int main() {
std::set<int> mySet = {1, 2, 3, 4, 5};
std::map<int, int> myMap = {{1, 10}, {2, 20}, {3, 30}, {4, 40}};
// 遍历set中的元素
for (const auto& element : mySet) {
// 使用map的find函数查找元素
auto it = myMap.find(element);
if (it != myMap.end()) {
std::cout << element << " is in the map with value " << it->second << std::endl;
}
else {
std::cout << element << " is not in the map" << std::endl;
}
}
return 0;
}
此代码首先创建一个std::set和一个std::map,并初始化它们的元素。然后,它遍历set中的元素,并使用map的find函数来查找每个元素。如果元素存在于map中,则打印出元素和对应的值;否则,打印出元素不在map中的消息。
请注意,std::map的find函数返回一个迭代器,指向元素在map中的位置。如果元素不在map中,则返回的迭代器等于map的end迭代器。因此,我们可以使用it != myMap.end()来判断元素是否在map中。
原文地址: http://www.cveoy.top/t/topic/i7lh 著作权归作者所有。请勿转载和采集!