gpt4 book ai didi

c++ - 如何在 map vector 内的 map 上使用 find()?

转载 作者:太空狗 更新时间:2023-10-29 21:22:26 24 4
gpt4 key购买 nike

我想访问 map vector 中的特定元素。我的代码如下:

#include <iostream>
#include <vector>
#include <map>

using namespace std;

int main() {
std::vector<map <string, int> > vecOfMaps;
map <string, int> myMap;

for (int j = 0; j < 10; j++) {
myMap["alpha"] = j;
myMap["beta"] = j*2;
vecOfMaps.push_back(myMap);
}

int start = 3;
int end = 5;
int counter = start;

for (std::vector<map <string, int> >::iterator vecIter = vecOfMaps.begin()+start; vecIter != vecOfMaps.begin()+end; ++vecIter) {
map<string, int>::iterator mapIter = vecIter.find("alpha");
cout << "\n vecElement " << counter << " mapString " << mapIter->first << " mapInt " << mapIter->second;
counter++;
}
return 0;
}

但是,这段代码给出了以下编译错误:

error: ‘std::vector, int> >::iterator’ has no member named ‘find’
map::iterator mapIter = vecIter.find("alpha");

如何在 map vector 中找到 map 内部的条目?

最佳答案

迭代器的作用类似于指向 vector 的指针,因此使用箭头,即间接表示法:

vecIter->find("alpha");

关于c++ - 如何在 map vector 内的 map 上使用 find()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20602744/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com