stl list push.back
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?
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".
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
Popular Topics
Advertisement