stl list push.back

Started by
1 comment, last by Zahlman 18 years, 9 months ago
I am using a stl list the push back function requires a const type& I want to do this though: students.push_back(new Student(nextStuId, name, grade, zip)); which is a *student I am not sure what to do any ideas?
Advertisement
You can use a std::list<Student *> or do students.push_back(Student(nextStuId, name, grade, zip));
You can store the type you create, or create the type you store (SiCrane's two examples, respectively).

A std::list (like other standard library containers) makes copies of the things that you store, and destructs those things upon its own destruction. However, it will *not* delete any pointed-at things if you store pointers. As a general rule, you should not store pointers in one of these containers unless you have a good reason to (and know what it is).

Note that "Student*" is the way to write the type "pointer to Student", not "*Student".

This topic is closed to new replies.

Advertisement