[英]Accessing values of a map that containing a vector pair
我聲明了一個包含向量對的地圖,例如
typedef vector<pair<string,int>> vectorPair;
map<string,vectorPair> mapName;
我一直在嘗試使用迭代器遍歷地圖,但我對如何從 Iterator->first 或 Iterator->second 訪問向量對感到困惑。 有一個更好的方法嗎?
我不完全知道你想要實現什么,但我假設你有一個看起來像這樣的結構:
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++)
{
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.