C++ 如何在地图向量中的地图上使用find()?

C++ 如何在地图向量中的地图上使用find()?,c++,vector,stdmap,C++,Vector,Stdmap,我想访问地图向量中的特定元素。我的代码如下: #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 <

我想访问地图向量中的特定元素。我的代码如下:

#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;
}
#包括
#包括
#包括
使用名称空间std;
int main(){
向量向量映射;
地图我的地图;
对于(int j=0;j<10;j++){
myMap[“alpha”]=j;
myMap[“beta”]=j*2;
vecofmap.push_back(myMap);
}
int start=3;
int-end=5;
int计数器=开始;
对于(std::vector::iterator vecIter=vecofmap.begin()+start;vecIter!=vecofmap.begin()+end;+vecIter){
迭代器mapIter=vecIter.find(“alpha”);

cout迭代器就像指向向量的指针,因此使用箭头,即间接表示法:

vecIter->find("alpha");

我认为find是容器的一种方法,而不是迭代器。也许可以尝试遵从?