[std::vector] Probleme de fuites memoire

jcloupgarou Messages postés 22 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 19 juillet 2006 - 19 avril 2006 à 15:40
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 - 19 avril 2006 à 16:56
Bonjour,

j'utilise le std::vector, ne connaissant pas a priori la taille de mes tableaux.
Par exemple, pour un tableau de coordonnées :
- Declaration : std::vector<CFPoint> tabVertex , CFPoint étant une classe à moi, composée par 3 float x, y, z
- Suppression : tabVertex.erase( tabVertex.begin() , tabVertex.end() );

Lors de la suppression, il n'y a pas du tout de liberation de memoires.
Dans un cas plus simple de std::vector, non plus.
Est-ce que je m'y prends mal avec "erase", y a-t-il un moyen de désallouer proprement la memorie avec ces "vectors" ? svp !
Merci , bon aprem.
Jc.

1 réponse

luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
19 avril 2006 à 16:56
<tt>iterator erase(iterator pos)</tt>,
Sequence,
Erases the element at position <tt>pos</tt>.,

----

<tt>iterator erase(iterator first, iterator last)</tt>,
Sequence,
Erases the range <tt>[first, last)</tt>,

----

<tt>void clear()</tt>,
Sequence,
Erases all of the elements.,

----

<tt>void resize(n, t = T())</tt>,
Sequence,
Inserts or erases elements at the end such that the size becomes <tt>n</tt>.


Erase n'a pas pour but de désallouer, mais il me semble que clear le fait.
0
Rejoignez-nous