Звучит так, будто вы ищете:
std::vector<std::map<std::string, int> > myData1;
или, возможно:
std::map<int, std::map<std::string, int> > myData2;
В первом случае вам потребуется изменить размер вектора до соответствующего размера перед использованием операторов индексирования:
myData1.resize(100);
myData1[25]["hello"] = 7;
... в то время как второй позволит вам назначить любой элемент напрямую (и редко):
myData2[25]["hello"] = 7;