在循环范围中填充c映射内容
发布时间:2020-12-16 10:17:47 所属栏目:百科 来源:网络整理
导读:我尝试在循环范围内填充c映射的内容. #include set#include mapmapint,setint maps;for (int i=0; i10; i++) { setint seti; // content: a set of integers seti.insert(i); seti.insert(...); maps.insert ( pairint,setint (i,seti) );} 问题是: maps.in
我尝试在循环范围内填充c映射的内容.
#include <set> #include <map> map<int,set<int> > maps; for (int i=0; i<10; i++) { set<int> seti; // content: a set of integers seti.insert(i); seti.insert(...); maps.insert ( pair<int,set<int> >(i,seti) ); } 问题是: 我应该如何正确生成地图内容(使用指针和新实例?)以及如何正确地清理地图? 感谢您对最佳实践的任何建议. —更新— map<int,set<int> >::iterator it; int k = (*it).first; set<int> v = (*it).second; 现在’v’也是从地图中存储的真实实例复制的一个? 解决方法
您不必显式创建set对象,因为当您使用[]运算符访问它时,它将在地图中创建.因此,你可以简单地写
#include <set> #include <map> map<int,set<int> > maps; for (int i=0; i<10; i++) { maps[i].insert(i); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |