如何把迭代器插入容器?
map<vector<pair<int,string>>::iterator,vector<pair<string,double>>::iterator> Data;//保存所有信息
vector<pair<string,double>> subject_score;//保存科目及成绩 1
vector<pair<int,string>> id_name;//保存学号姓名 2
int id;double score; string name,subject;//分别对应的变量
vector<pair<int,string>>::iterator idname; 2的迭代器
vector<pair<string,double>>::iterator subscore; 1的迭代器
while (cin>>id>>name>>subject>>score)
{
(*idname).first=id;
(*idname).second=name;
如何把idname插入id_name 想把迭代器插进去
id_name.push_back(make_pair(id,name));
(*subscore).first=subject;
(*subscore).second=score;
同上 如何把subscore插入sub_score想把迭代器插进去
subject_score.push_back(make_pair(subject,subscore));
subject_score.push_back(make_pair((*subscore).first,(*subscore).second));
}
[解决办法]
不建议楼主这样使用。迭代器和具体的容器是密不可分的。
[解决办法]
因为具体容器内部数据变化后可能迭代器就进行相应的变化了。所以你先前保存的就是错误的了