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

问题描述 投票:0回答:1

我希望使用地图数据结构的地图,看起来像:

map <int, map <Student, int>>。外部地图的关键字对应于id,内部地图的关键字对应于学生信息(学生是班级),内部地图的值对应于学生的等级。

我面临以下困难:

  1. 将新值插入此数据结构
  2. 访问Student类(内部映射的值)和Student类中的成员变量(内部映射的键)
  3. 迭代地图以打印学生和成绩信息。

谢谢!

c++
1个回答
1
投票

无需嵌套地图:

  • Student班级应该有学生证的公共成员(或职能)。
  • 然后,您可以创建map<ID, student_grade>以根据学生ID搜索成绩。

另一种方法是将成绩存储在Student类中:

map<int, Student> students;
// ...
int grade = student[ID].grade;
string name = student[ID].name;
© www.soinside.com 2019 - 2024. All rights reserved.