<div dir="ltr"><div><div><div>A proposito de este problema utilice esta funcion que encontre para liberar y para utilizar el destructor:<br></div> while (!list.empty()){<br></div>delete list.back();<br></div>list.pop_back;<br>
<div><div>}<br>Y funciona muy bien ahora el problema que tengo es que llama a ciertos destructores desde el ultimo hasta el primero , es decir de la forma contraria a como lo estoy buscando , pero ese problema ya lo resolvere , simplemente queria mostrarte que encontre este metodo que funciona muy bien , y si es cierto que si hay un destructor es hay donde se liberan los accesos a memoria.<br>
<var><code></code></var><br></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-03-13 16:59 GMT+01:00 Salvador Pozo <span dir="ltr"><<a href="mailto:salvador@conclase.net" target="_blank">salvador@conclase.net</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">El pasado 2014-03-13 11:56:19, Miguel Alejandro jimenez escribió:<br>
<br>
MAj> Volviendo a esta funcion:<br>
<div class="">MAj>  void Bibliotheque::stocker(Oeuvre & test, int n=1 )  {<br>
MAj>        while (n >=1){<br>
MAj>       list.push_back(new Exemplaire(test));<br>
MAj>       cout<<"PRUEBA"<<endl;<br>
MAj>        n--;<br>
MAj>       }<br>
<br>
</div>Bien, ahora entiendo que lo que quieres liberar es el vector "list".<br>
<br>
Pues tengo una buena noticia: no es necesario.<br>
<br>
list es de tipo vector, y vector es una plantilla de clase que tiene su propio destuctor, de modo que cuando, en este caso, el objeto de la clase "Bibliotheque" sea destruido, el destructor de "list" será invocado automáticamente.<br>

<br>
MAj> La verdad no se como liberar estos espacios de memoria , es verdad que lo<br>
MAj> ideal seria liberarlos en la misma funcion stocker(); , pero no puedo , ya<br>
MAj> que despues voy a utilizar el vector en otras funciones ,<br>
<br>
Bueno, no podrías en ningún caso, ya que la idea es iniciar o añadir elementos al vector. No tendría utilidad añadirlos e inmediatamente después eliminarlos.<br>
<br>
MAj> Entoces en la clase Bibliotheque , cree un destructor que seria algo como<br>
MAj> esto:<br>
MAj> Bibliotheque::~Bibliotheque(){<br>
MAj>        for(unsigned int p=0;p<list.size();p++)<br>
MAj>         list.push_back(delete );<br>
MAj>                        }<br>
<br>
Si quieres invocar el destructor para cada elemento de "list" dentro del destructor de "Bibliotheque", lo que no es necesario, es más simple que eso. No necesitas liberar cada elemento del vector, puedes eliminar el vector completo:<br>

<br>
Bibliotheque::~Bibliotheque(){<br>
       list.clear();<br>
}<br>
<br>
Sin embargo, es innecesario, ya que el vector "list" será destruido automáticamente al destruir "Bibliotheque".<br>
<div class="HOEnZb"><div class="h5"><br>
Hasta pronto.<br>
<br>
--<br>
Salvador Pozo (Administrador)<br>
mailto:<a href="mailto:salvador@conclase.net">salvador@conclase.net</a><br>
Blog con Clase: <a href="http://blogconclase.wordpress.com" target="_blank">http://blogconclase.wordpress.com</a><br>
Con Clase: <a href="http://conclase.net" target="_blank">http://conclase.net</a><br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>MIGUEL ALEJANDRO JIMENEZ R.<br>
</div>