这里是第一篇文章,我正在编写一些代码来尝试从多个 CSV 文件中读取,并将它们组合成一个“主”CSV 文件。 (编码方式:C++ Visual Studio 2013)
无论如何,这不是我遇到的麻烦。我在设置我想将这些值存储到其中的初始容器时遇到困难。到目前为止,这是我的设置:
#include <vector>
#include <map>
using namespace std;
struct GradeCategories{
string category;
int grade;
}; GradeCategories grade_cat;
struct NameGrades{
string name;
vector<GradeCategories> v;
}; NameGrades NG;
typedef map<int, vector<NameGrades>> TheBook;
那么我该如何访问/输入数据到这个设置中呢?
我尝试过:
TheBook[12345017][NG.name = "Bob Jones"].push_back((grade_cat.category = "Exam 1")(grade_cat.grade = 95));
除此之外,我真的不知道如何访问它的内部组件。对 map 非常陌生,代码的这种深度“开始”有点让我失望。
因此,我们将不胜感激!谢谢:)
最佳答案
嗯,TheBook
,将 int
映射到 NameGrades
的 vector
上,这意味着:
TheBook[int] = vector<NameGrades>;
从一个 GradeCatagories
对象开始:grade_cat
grade_cat.category = "Exam";
grade_cat.grade = 95;
现在把它放在一个vector
中:
vector<GradeCategories> vgc;
vgc.push_back(grade_cat);
现在我们可以继续NG
:
NG.name = "Bob Jones";
NG.v = vgc;
现在我们可以将它插入一个vector
:
vector<nameGrades> vng;
vng.push_back(NG);
最后,我们可以将它插入到 map 中:
TheBook tb;
tb[12345017] = vng;
关于c++ - 在结构 vector 的结构 vector 的映射中存储数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21946539/