Je travaille sur un projet en tant que devoir pour mon cours universitaire de programmation de systèmes. Je me suis vraiment trompé sur la question des pointeurs, des vecteurs, des piles et des tas.C++, vecteurs, pointeurs et objets confusion
Utilisation de C++. Je dois obtenir un vecteur d'objets qui sont des cours, et ces objets de cours ont plusieurs champs différents. Ce que je l'ai fait était le suivant:
vector<CoursesObject> coursevector;
puis j'ai créé mes cours objet classe, qui contient l'espace laissé dans le cours et le nom des champs de cours. Maintenant, je veux ajouter un nouveau cours, je fais:
CoursesObject *theCourse = new CoursesObject(name, space);
maintenant je veux l'ajouter au vecteur de gestionnaire:
coursevector.push_back(*theCourse);
Avec tout ce que je sais, je créé un vecteur d'objets Cours sur la pile, et fait un nouveau pointeur vers un nouveau cours qui est sur le tas, et ajouté au vecteur de gestionnaire le pointeur theCourse qui pointe vers l'objet de cours dans le tas. Est-ce que ce que j'ai dit est correct?
Lorsque je tente de supprimer ces objets de cours, je fais:
for(int i=0; i<coursevector.size(); i++)
delete coursevector.at(i);
qui me donne une erreur qu'il n'est pas un pointeur. Mais n'ai-je pas ajouté au POV un pointeur sur l'objet du cours?
S'il vous plaît quelqu'un d'expliquer, je dois gérer la mémoire correctement et il semble que je ne comprends pas bien.
Vous pouvez utiliser vecteur <* CoursesObject> et utilisez les pointeurs de magasin à la place des objets. – Jimm