我正在尝试模仿 C++ 中的 python 字典。例如,我想构建类似的东西
{"The Dark Night Rises": {"year": 2012, "StoryLine": "this is the story.....", "Genres": ["action","crime","Thriller"]}}
我正在使用 STL 地图和列表来构建这种字典。但我不确定如何使用迭代器。有人可以帮我举一个构建上述字典的例子吗?我开始像下面这样构建一个简单的字典,如{"cast":["action","crime","Thriller"]}
. 我很困惑如何构建上述多级词典,并专门对其进行迭代。
#include<iostream>
#include<string>
#include<map>
#include<iterator>
#include<list>
using namespace std;
class MultiLevDict
{
private:
list<string> lis;
map<string,list<string> > MultiDict;
public:
void Setter();
void Display() const;
};
void MultiLevDict::Setter()
{
string field;
string cast;
int sizeCast;
cout<<"enter the field of the movie:";
cin>>field;
cout<<endl;
cout<<"how many cast are there in this movie?:";
cin>>sizeCast;
for (int i=0; i<sizeCast; i++)
{
cin>>cast;
lis.push_back(cast);
}
MultiDict[field]=lis;
}
void MultiLevDict::Display() const
{
list<string>::iterator lisIt;
}