C++之map遍历
C++结构化绑定声明在map容器遍历上的应用
·
1、iterator(迭代器)
#include <map>
#include <iostream>
//...
std::map<int, string> m;
//...
for (auto it = m.begin(); it != m.end(); ++it) {
//key
std::cout << it->first << std::endl;
//value
std::cout << it->second << std::endl;
}
2、range for(范围for语句),c++ ver >= 11
#include <map>
#include <iostream>
//...
std::map<int, string> m;
//...
for (const auto &value : m) {
//value
std::cout << value << std::endl;
}
3、structured binding declaration && range for(结构化绑定声明 && 范围for语句) ,c++ver >= 17
#include <map>
#include <iostream>
//...
std::map<int, string> m;
//...
for (const auto &[key, value] : m) {
//key
std::cout << key << std::endl;
//value
std::cout << value << std::endl;
}
1、只取key
#include <map>
#include <iostream>
#include <functional>
//...
std::map<int, string> m;
//...
using namespace std::placeholder;
for (const auto &[key, _1] : m) {
//key
std::cout << key << std::endl;
}
2、只取value
#include <map>
#include <iostream>
#include <functional>
//...
std::map<int, string> m;
//...
using namespace std::placeholder;
for (const auto &[_1, value] : m) {
//value
std::cout << value << std::endl;
}
更多推荐
已为社区贡献2条内容
所有评论(0)