C ++ STL转换

时间:2015-10-09 09:54:38

标签: string dictionary vector int

我尝试使用c ++ stl库。 我想将字符串向量转换为int,string的映射。

例如:一个看起来像这样的矢量:

const char *vinit[] = { "Sunday", "Monday", "Tuesday", "Wednesday" };
vector <string> v(vinit, end(vinit));

将转换为这样的地图:

    map<int, string> map = {{ 1, "Sunday" },
                            { 2, "Monday" },
                            { 3, "Tuesday" },
                            { 4, "Wednesday" } };

关键是我不能将任何循环和全局索引用作整数。

1 个答案:

答案 0 :(得分:0)

[编辑] 您可以使用map::insert

const char *vinit[] = { "Sunday", "Monday", "Tuesday", "Wednesday" };
vector <string> v(vinit, end(vinit));
std::map<int,string> map;
for(int i = 0; i < v.size(); i++)
{
    map.insert (std::pair<int,string>(i+1,v[i]));
}