在C++中访问和插入地图的地图(嵌套地图)

Accessing and inserting to a map of maps (nested map) in C++

本文关键字:地图 嵌套 插入 C++ 访问      更新时间:2023-10-16

我希望使用地图数据结构的地图,如下所示:

map <int, map <Student, int>>.外部地图的键对应于id,内部地图的键对应于学生信息(其中学生是一个班级),内部地图的值对应于学生的成绩。

我在以下方面面临困难:

  1. 向此数据结构插入新值

  2. 访问成绩(内部映射的值)和学生类中的成员变量(内部映射的键)

  3. 遍历地图以打印学生和成绩信息。

谢谢!

不需要嵌套映射:

  • Student类应具有学生 ID 的公共成员(或函数)。
  • 然后,您可以创建一个map<ID, student_grade>,以根据学生 ID 搜索成绩。

另一种方法是将成绩存储在学生班级中:

map<int, Student> students;
// ...
int grade = student[ID].grade;
string name = student[ID].name;