访问包含矢量对的映射的值
Accessing values of a map that containing a vector pair
>我声明了一个包含向量对的映射,例如
typedef vector<pair<string,int>> vectorPair;
map<string,vectorPair> mapName;
我一直在尝试使用迭代器遍历地图,我对如何从迭代器>第一或迭代器>第二访问向量对感到困惑。有没有更好的方法可以做到这一点?
以下是遍历地图的一种简洁整洁的方法:
for (auto x : mapName)
{
vectorPair& vp = x.second; // or auto&
...
}
万德盒现场演示
我不完全知道你想实现什么,但我假设你有一个看起来像这样的结构:
for(auto i = mapName.begin(); i != mapName.end(); i++)
{
}
在那个循环中,你只是想访问向量?这将使用i->second
.如果您不喜欢这种语法,您可以随时使用引用(类似于auto &vec = i->second
然后只使用vec
(。
如果你想迭代向量本身中的对,你需要使用这样的东西:
for(auto i = mapName.begin(); i != mapName.end(); i++)
{
for(auto j = i->second.begin(); j != i->second.end(); j++)
{
}
}
相关文章:
- 在子集化后将包含索引号的列表列表映射到标准索引序列
- 将包含不可复制对象的对插入到映射中
- 当映射包含字符串向量作为值时,从值中获取键的有效方法
- 访问包含矢量对的映射的值
- 如果包含映射的静态库与可执行文件和动态库链接,静态映射(变量)是否会被多次释放?
- C++:如何初始化包含具有给定键的指针列表的映射
- 包含比较的循环的自动矢量化
- 在包含类对象的C++中迭代映射
- 包含动态分配内存作为值的映射的取消定位速度有多快?
- 多重映射的每个元素是否同时包含键和值
- C++包含任何类型的模板类对象的映射
- 如何打印包含整数和整数集的std::映射
- 当类包含 2D 数组时,如何将类用作映射的键
- 擦除C++映射中包含单个值的密钥
- 检查C++中的映射是否包含其他映射中的所有键
- STL映射如何知道,该映射包含一个给定的元素
- 映射包含路径到不同的目录
- 可以映射包含类对象或类对象
- c++模板化映射包含自身
- 带结构体的列表映射(包含列表)——不能通过映射访问结构体中的列表