比如map<string,map<int,vector<int> > >a,我怎样才能修改其中的内容
假如我已经向其中添加有了几个元素,我们知道第一个string必须只能有一个,不可能出现相同的。所以我想修改第一个string名为“ddd”的内容,也就是修改这个关键字所关...
假如我已经向其中添加有了几个元素,我们知道第一个string必须只能有一个,不可能出现相同的。
所以我想修改第一个string名为“ddd”的内容,也就是修改这个关键字所关联的值
请问怎么修改? 展开
所以我想修改第一个string名为“ddd”的内容,也就是修改这个关键字所关联的值
请问怎么修改? 展开
1个回答
展开全部
map<int,vector<int> >& a_ddd = a["ddd"];
然后修改a_ddd就可以了。
//给a_ddd 添加元素
vector<int> a_ddd_vec;
a_ddd_vec.push_back(1);
a_ddd[0] = a_ddd_vec;或a_ddd.insert(make_pair(0,a_ddd_vec));
类似的要改a_ddd,可以
vector<int>& a_ddd_vec = a_ddd[0];(0是示例,看你具体内容),
a_ddd_vec.clear();
a_ddd_vec.push_back(9);
就可以了。
或者通过循环
for(map<int,vecotr<int>>::iterator iter_int = a_ddd.begin();iter_int != a_ddd.end(); iter_int++)
{
//iter_int->first是int索引
//获取到vecotr<int>内容
vecotr<int>& a_vec = iter_int->second;
//就可以修改vecotr<int>的内容了
a_vec.push_back(3);
}
然后修改a_ddd就可以了。
//给a_ddd 添加元素
vector<int> a_ddd_vec;
a_ddd_vec.push_back(1);
a_ddd[0] = a_ddd_vec;或a_ddd.insert(make_pair(0,a_ddd_vec));
类似的要改a_ddd,可以
vector<int>& a_ddd_vec = a_ddd[0];(0是示例,看你具体内容),
a_ddd_vec.clear();
a_ddd_vec.push_back(9);
就可以了。
或者通过循环
for(map<int,vecotr<int>>::iterator iter_int = a_ddd.begin();iter_int != a_ddd.end(); iter_int++)
{
//iter_int->first是int索引
//获取到vecotr<int>内容
vecotr<int>& a_vec = iter_int->second;
//就可以修改vecotr<int>的内容了
a_vec.push_back(3);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询