如何获取和分配作为map值的字符串列表

时间:2015-06-13 19:32:27

标签: c++ list dictionary

下面提到的是map,其中我存储了基于字符串键的字符串列表。

 std::map<std::string, std::list<std::string>>mapheaderToFields;
    list<string> strlist;

现在我想返回列表,我想将该返回列表分配给新创建的列表变量。我怎么能这样做?

我尝试使用下面提到的代码段来实现这一点。但是,我无法将其分配到列表中。 有关如何处理此问题的任何建议。

for (iteHeaderToField = mapheaderToFields.begin(); iteHeaderToField != mapheaderToFields.end(); iteHeaderToField++)
    {
        cout << "key :" << iteHeaderToField->first<<endl;
        strlist.assign((iteHeaderToField->second.begin(),(iteHeaderToField->second.end());
        ((_mapHeaderToFields.find((iteHeaderToField)->first)));
    }

我尝试从地图中获取第二个元素并将其分配给list.but,我无法分配到列表。编译器在将其分配到列表时抛出错误。

还有其他方法可以制作吗?

1 个答案:

答案 0 :(得分:0)

您只需使用std::list的{​​{3}}

即可
strlist = iteHeaderToField->second;

这会将迭代器第二个元素指向的列表复制到strlist