私は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;
}