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

时间:2012-12-23 19:50:39

标签: c++ collections types vector

我正在编写一个程序,它用一个名字和数字来创建一个学生。 然后,我想将这些学生添加到一个系列中。

但是,我正在努力解决的问题是如何将学生添加到矢量中。

到目前为止我写的代码如下所示:

Student stud(name, i);
vector<Student> vS

Student::Student(const string &name, int regNo) : Person(name)
{

}

我想我正在做一些非常愚蠢的事情,但在编程时我真的很弱。

我基本上从文件中获取字符串和整数,然后将它们传递给Student构造函数。然后我尝试创建一个包含所有学生的学生类型的Vector。但我无法弄清楚如何做到这一点。

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

2 个答案:

答案 0 :(得分:3)

要将元素插入vector push_back,可以使用:

vS.push_back(stud);

或者如果C ++ 11可用:

vS.emplace_back(name, i);

答案 1 :(得分:0)

寻找的好地方是c ++文档。那里也有很好的例子。 例如关于vector: http://www.cplusplus.com/reference/vector/vector/ 以及向向量添加元素 http://www.cplusplus.com/reference/vector/vector/push_back/

作为补充评论,如果您关心效率,您可以为元素预留空间:

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