印刷したい場合
iter->second
演算子 << を使用すると、この演算子をオーバーライドする必要があります! それ以外の場合は、set イテレータを使用して、iter->second によって rappresented の文字列のセットを反復します。
set<string>::iterator iterator_;
更新 [イテレータ]
繰り返しは簡単です、忍者ソリューションは演算子をオーバーロードしています! :P
反復:
map<string, set<string> >::iterator iter_;
for (iter_ = index_.begin(); iter_ != index_.end(); iter_++) {
cout << iter_->first << " - ";
set<string>::iterator iterator_;
for (iterator_ = s.begin(); iterator_ != s.end(); iterator_++) {
cout << *iterator_ << " - ";
}
cout << endl;
}
update [ostream& opeartorのオーバーロード<<]
class MySet: public set<string> {
friend ostream& operator<<(ostream& out, const MySet& s) {
set<string>::iterator iterator_;
for (iterator_ = s.begin(); iterator_ != s.end(); iterator_++) {
out << *iterator_;
}
return out;
}
void test() {
map<string, MySet> index_;
map<string, MySet>::iterator iter_;
for (iter_ = index_.begin(); iter_ != index_.end(); iter_++) {
cout << iter_->first << " - ";
cout << iter_->second;
}
}
};