STL et libération mémoire - C++ - Programmation
Marsh Posté le 05-04-2005 à 09:02:07
ton objet qui agrége les vector appele de lui même le destructeur de vector<float>.
Par contre si tu avais un vector<float*> par ex.,il serait de bon de libérez les float* du vector dans le destructeur de ta classe.
Marsh Posté le 05-04-2005 à 14:42:30
oui je suis d'accord pour les vector<float *>, ça me paraît logique puisqu'il faut désallouer ce qui est pointé. mais dans le destructeur qui contient le vector, est-ce qu'il faut faire un appel explicite au destructeur de vector ?
merci pour ta réponse
Marsh Posté le 05-04-2005 à 16:02:58
Je le redit plus fort :
ton objet qui agrége les vector appele de lui même le destructeur de vector<float> lors de sa destruction
Marsh Posté le 05-04-2005 à 23:07:36
merci, en fait je n'étais pas sûr d'avoir bien compris (j'ai un QI de raton laveur sous acide)
Marsh Posté le 06-04-2005 à 01:30:18
psychotek a écrit : oui je suis d'accord pour les vector<float *>, ça me paraît logique puisqu'il faut désallouer ce qui est pointé. mais dans le destructeur qui contient le vector, est-ce qu'il faut faire un appel explicite au destructeur de vector ? |
ça t'arrive souvent d'appeler explicitement le destructeur de quelque chose ?
Marsh Posté le 09-04-2005 à 00:30:45
Jamais en 10 ans de C++.
Marsh Posté le 05-04-2005 à 08:57:35
salut
j'apprend à utiliser la STL au travers d'une application que je suis en train d'écrire en C++, et j'avais une question concernant la libération mémoire.
certaines de mes classes contiennent des vector<float>. faut-il les libérer explicitement quand le destructeur de la classe est appelé ? ou bien la libération est-elle automatique quand l'objet est détruit ?
merci