<div dir="ltr">Hola José Antonio,<div><br></div><div>Siguiendo tu ejemplo, el destructor no se invocaría, al menos que se libere la memoria. Es decir, si escribimos,</div><div><br></div><div>Complex* z2 = new Complex{ 6,1 };<br>delete z2;</div><div><br></div><div>Al liberar la memoria con 'delete', se destruye el objeto apuntado, y por lo tanto, se invoca automáticamente su destructor.</div><div><br></div><div>Si quieres usar memoria dinámica para instanciar un objeto, pero quieres que el destructor se invoque automáticamente sin tener que escribir 'delete', entonces podrías mirar las plantillas estándares para crear "punteros inteligentes". Por ejemplo,</div><div><br></div><div>{</div><div><div>  unique_ptr<Complex> ptr = make_unique<Complex>( 6,1 );  <br></div><div>  ...</div><div>}</div></div><div><br></div><div>Al terminar el ámbito, se destruye el objeto 'ptr', cuyo destructor destruye la memoria dinámicamente adjudicada al objeto 'Complex(6,1)'; y por tanto, se invoca el destructor, '~Complex()'.</div><div><br></div><div><br></div><div>Espero haber aclarado la duda.</div><div><br></div><div>Steven</div><div><br></div><div class="gmail_extra"><br><div class="gmail_quote">2017-05-24 4:26 GMT-04:00 José Antonio Martínez Escobedo <span dir="ltr"><<a href="mailto:dracllop@gmail.com" target="_blank">dracllop@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><span style="color:rgb(36,39,41);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:15px">Entiendo que si uno implementa una ADT esta debería comportarse como los tipos nativos y ser sus instancias destruidas al terminar su vida útil, ¿pero que pasa si el usuario de la clase declara un raw pointer para usar new con un tipo de esa ADT? En principio el destructor será invocado...a menos que se lance una excepción y esa memoria que se perdió. ¿ Cómo puedo evitarlo? Seguidamente adjunto un ejemplo que ilustra el problema</span></div></blockquote><div><br></div></div></div></div>