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

how to fetch and assign a list of strings which are values of map

本文关键字:map 列表 字符串 分配 何获取 获取      更新时间:2023-10-16

下面提到的是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)));
    }

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

还有其他方法可以做到吗?

你可以简单地使用 std::list 的复制赋值运算符

strlist = iteHeaderToField->second;

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