Я пытаюсь имитировать словарь Python в C ++. Например, я хочу построить что-то вроде
{"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;
}