【发布时间】:2021-02-22 15:05:41
【问题描述】:
我的任务是用数组填充空的std::map<char, std::set<std::string>> myMap
const char* s[] = { "car", "sun", "surprise", "asteriks", "alpha", "apple" };
并使用range based for 和bindings 打印它。结果,应该是S: sun, surprise
最后一个(打印的)我已经用这种方式实现了
for (const auto& [k, v] : myMap)
{
cout << "k = " << k << endl;
std::set<std::string>::iterator it;
for (it = v.begin(); it != v.end(); ++it)
{
cout << "var = " << *it << endl;
}
}
但是我怎样才能以正确的方式通过const char* s[] 初始化这张地图呢?
附:我知道,如何像 std::map
【问题讨论】:
-
一个映射包含键和映射值,数组应该如何填充到映射中并不明显
-
OT:为什么不使用 range-for 循环来打印集合?