C - 如何将自己类型的值插入集合中

C++ - How would I insert values of my own type into a collection?

本文关键字:插入 集合 类型 自己      更新时间:2023-10-16

我正在编写一个程序,该程序需要一个名称和号码来创建学生。然后,我想将这些学生添加到收藏中。

但是,我正在努力的是如何将学生添加到向量。

我到目前为止写的代码可以在下面看到:

Student stud(name, i);
vector<Student> vS
Student::Student(const string &name, int regNo) : Person(name)
{
}

我想我在做一些真正愚蠢的事情,但是在编程方面我真的很虚弱。

我本质上是从文件中获取字符串和整数,然后将其传递给学生构造函数。然后,我正在尝试创建一个类型学生的向量,其中包括所有学生。但是我只是无法弄清楚如何做。

如果有人知道我需要做什么,那会很棒吗?我尝试了几种方法,但它们似乎都没有用。

可以使用将元素插入 vector push_back

vS.push_back(stud);

或是否可用C 11:

vS.emplace_back(name, i);

一个值得寻找的是C 文档。那里也有很好的例子。例如,关于向量:http://www.cplusplus.com/reference/Vector/Vector/以及将元素添加到向量http://www.cplusplus.com/reference/vector/Vector/Vector/push_back/

作为其他评论,如果您关心效率,则可以为元素保留空间:

your_vector.reserve(number_of_elements);
your_vector.push_back(your_element);